Here is my PUT Method i have to update the list I have emplyeeID as String which has values from [4-14] in length but my method is throwing error when i pass employeeID below 5 or greater than 5 let me know where I am missing
Put(SurveyRecipientViewList _SurveyRecipientViewList) { if (!ModelState.IsValid) { } ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal; Int32 LogedInID = Convert.ToInt32(principal.Claims.FirstOrDefault(t => t.Type == "LogedInID").Value); // RecipientRecords _RecipientRecords = new RecipientRecords(); var result = from c in db.Contacts join cm in db.ContactEmails on c.ContactID equals cm.ContactID select new SurveyRecipientView { EmployeeID = c.EmployeeNumber, FirstName = c.FirstName, LastName = c.LastName, EmailAddress = cm.EmailAddress }; List<SurveyRecipientView> axe = new List<SurveyRecipientView>(); axe = result.ToList<SurveyRecipientView>(); ValidateRecipientList _ValidateRecipientList = new ValidateRecipientList(); try { // string strRegex = @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,10})+)$"; string strRegex = @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-0-9a-z]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$"; string numericRegex = @"^[0-9]{5}$"; var NumericRegEx = new Regex(numericRegex, RegexOptions.IgnoreCase); var EmailRegEx = new Regex(strRegex, RegexOptions.IgnoreCase); _ValidateRecipientList.DuplicateRecords = _SurveyRecipientViewList.SurveyRecipientView .GroupBy(grp => new { grp.EmailAddress, grp.EmployeeID, grp.FirstName, grp.LastName }) .Where(g => g.Count() > 1) .Select(grp => grp.FirstOrDefault()) .ToList<SurveyRecipientView>(); _ValidateRecipientList.DistinctRecords = _SurveyRecipientViewList.SurveyRecipientView .GroupBy(grp => new { grp.EmailAddress, grp.EmployeeID, grp.FirstName, grp.LastName }) .Select(grp => grp.FirstOrDefault()) .ToList<SurveyRecipientView>(); _ValidateRecipientList.InvalidEmailAddress = _ValidateRecipientList.DistinctRecords .Where(t => !EmailRegEx.IsMatch(t.EmailAddress)) .ToList<SurveyRecipientView>(); _ValidateRecipientList.DistinctRecords = _ValidateRecipientList.DistinctRecords.Except(_ValidateRecipientList.InvalidEmailAddress).ToList<SurveyRecipientView>(); _ValidateRecipientList.InvalidEmployeeNo = _ValidateRecipientList.DistinctRecords .Where(t => !NumericRegEx.IsMatch(t.EmployeeID.Trim() == "" ? "00000" : t.EmployeeID)) .ToList<SurveyRecipientView>(); _ValidateRecipientList.DistinctRecords = _ValidateRecipientList.DistinctRecords.Except(_ValidateRecipientList.InvalidEmployeeNo).ToList<SurveyRecipientView>();