public ActionResult Delete([DataSourceRequest] DataSourceRequest request, CaseMemberEmergencyContact casemembercontact) { //find the casemembercontact in database if (casemembercontact == null) { //set error message if it does not exist in database casemembercontact = new CaseMemberEmergencyContact(); casemembercontact.ErrorMessage = "CaseMemberEmergencyContact not found"; } else { try { //delete casemembercontact from database casememberEmergencyContactRepository.Delete(casemembercontact); casememberEmergencyContactRepository.Save(); //set success message casemembercontact.SuccessMessage = "Contact has been deleted successfully"; } catch (CustomException ex) { casemembercontact.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { if (ex.Message == "Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.") { casemembercontact.SuccessMessage = "Contact has been deleted successfully"; } else { ExceptionManager.Manage(ex); casemembercontact.ErrorMessage = Constants.Messages.UnhandelledError; } } } //return action status in json to display on a message bar //if (casemembercontact.ErrorMessage.IsNotNullOrEmpty()) //{ // return Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, casemembercontact) }); //} //else //{ // return Json(new { success = true, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, casemembercontact) }); //} return(Json(new[] { casemembercontact }.ToDataSourceResult(request, ModelState))); }
public ActionResult Save([DataSourceRequest] DataSourceRequest request, CaseMemberEmergencyContact casemembercontact, int caseMemberID) { bool isNew = casemembercontact.ID == 0; if (ModelState.IsValid) { try { Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); Regex nonNumericRegex = new Regex(@"\D"); Match match = regex.Match(casemembercontact.ContactNumber); if (!match.Success) { if (nonNumericRegex.IsMatch(casemembercontact.ContactNumber)) { casemembercontact.ErrorMessage = "Please enter valid phone."; return(Json(new { success = false, data = this.RenderPartialViewToString(Constants.PartialViews.AlertSliding, casemembercontact) })); } } casemembercontact.LastUpdateDate = DateTime.Now; casemembercontact.LastUpdatedByWorkerID = CurrentLoggedInWorker.ID; casememberEmergencyContactRepository.InsertOrUpdate(casemembercontact); casememberEmergencyContactRepository.Save(); //set status message if (isNew) { casemembercontact.SuccessMessage = "Contact has been added successfully"; } else { casemembercontact.SuccessMessage = "Contact has been updated successfully"; } } catch (CustomException ex) { casemembercontact.ErrorMessage = ex.UserDefinedMessage; } catch (Exception ex) { ExceptionManager.Manage(ex); casemembercontact.ErrorMessage = Constants.Messages.UnhandelledError; } } else { foreach (var modelStateValue in ViewData.ModelState.Values) { foreach (var error in modelStateValue.Errors) { casemembercontact.ErrorMessage = error.ErrorMessage; break; } if (casemembercontact.ErrorMessage.IsNotNullOrEmpty()) { break; } } } return(Json(new[] { casemembercontact }.ToDataSourceResult(request, ModelState))); }