internal GenericResponseVM MatterMetadataValidation(Matter matter, Client client,
int methodNumber, MatterConfigurations matterConfigurations)
{
GenericResponseVM genericResponseVM = null;
genericResponseVM = MatterNameValidation(matter);
if (genericResponseVM!=null)
{
return genericResponseVM;
}
if (int.Parse(ServiceConstants.ProvisionMatterCreateMatter, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterAssignContentType, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterUpdateMetadataForList, CultureInfo.InvariantCulture) == methodNumber)
{
if (string.IsNullOrWhiteSpace(matter.Id))
{
return GenericResponse(errorSettings.IncorrectInputMatterIdCode, errorSettings.IncorrectInputMatterIdMessage);
}
else
{
var matterId = Regex.Match(matter.Id, matterSettings.SpecialCharacterExpressionMatterId, RegexOptions.IgnoreCase);
if (int.Parse(matterSettings.MatterIdLength, CultureInfo.InvariantCulture) < matter.Id.Length || !matterId.Success)
{
return GenericResponse(errorSettings.IncorrectInputMatterIdCode, errorSettings.IncorrectInputMatterIdMessage);
}
}
}
if (int.Parse(ServiceConstants.ProvisionMatterCreateMatter, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterShareMatter, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterMatterLandingPage, CultureInfo.InvariantCulture) == methodNumber)
{
genericResponseVM = MatterDetailsValidation(matter, client, methodNumber, matterConfigurations);
if (genericResponseVM!=null)
{
return genericResponseVM;
}
}
try
{
if (!(int.Parse(ServiceConstants.ProvisionMatterCheckMatterExists, CultureInfo.InvariantCulture) == methodNumber) &&
!(int.Parse(ServiceConstants.ProvisionMatterAssignContentType, CultureInfo.InvariantCulture) == methodNumber))
{
if (0 >= matter.AssignUserNames.Count())
{
return GenericResponse(errorSettings.IncorrectInputUserNamesCode, errorSettings.IncorrectInputUserNamesMessage);
}
else
{
IList<string> userList = matter.AssignUserNames.SelectMany(x => x).Distinct().ToList();
//ToDo: Need to know the use of this method
matterRespository.ResolveUserNames(client, userList).FirstOrDefault();
}
}
}
catch (Exception)
{
return GenericResponse(errorSettings.IncorrectInputUserNamesCode, errorSettings.IncorrectInputUserNamesMessage);
}
if (int.Parse(ServiceConstants.ProvisionMatterAssignUserPermissions, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterMatterLandingPage, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.EditMatterPermission, CultureInfo.InvariantCulture) == methodNumber)
{
GenericResponseVM genericResponse = CheckUserPermission(matter);
if (genericResponse!=null)
{
return genericResponse;
}
}
if (int.Parse(ServiceConstants.ProvisionMatterAssignContentType, CultureInfo.InvariantCulture) == methodNumber ||
int.Parse(ServiceConstants.ProvisionMatterShareMatter, CultureInfo.InvariantCulture) == methodNumber)
{
GenericResponseVM genericResponse = ValidateContentType(matter);
if (genericResponse!=null)
{
return genericResponse;
}
}
return genericResponseVM;
}