public ActionResult NewComplaint(NewComplaint model) { try { ViewBag.ComplaintType = _complaintType.GetAll(); //ViewBag.SolutionType = _slnType.GetAll(); //ViewBag.SolutionStatus = _slnStatus.GetAll(); var user = _user.GetUser(User.Identity.Name); ViewBag.Complaints = _vComplaint.FilterComplaint(DateTime.Now.Date, DateTime.Now.Date, 0, 0, 0, user.UserId); if (ModelState.IsValid) { if (model.Title.Trim().Contains(" ")) { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), "Empty space is not allowed in Title, you can replace empty space with character like - or _"); return(View(model)); } if (!string.IsNullOrEmpty(model.ComplaintOwnerEmail)) { if (!_help.IsValidEmail(model.ComplaintOwnerEmail)) { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), "Invalid email address!"); return(View(model)); } } if (!_help.IsValidPhone(model.MobileNo)) { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), "Invalid phone number!"); return(View(model)); } var compType = _complaintType.GetRecordById(model.ComplaintTypeId); model.Title = compType.Name.Replace(" ", "_") + "_" + model.Title + "_" + model.MobileNo; var cmp = _complaint.GetComplaintByTitle(model.Title); if (cmp == null) { var soln = _slnStatus.GetRecordById(1); if (soln.Name.ToUpper() == "RESOLVED FULLY") { model.StatusId = 4; } else { if (soln.Name.ToUpper() == "REQUIRED TECHNICAL SKILL") { model.StatusId = 3; } else { model.StatusId = 2; } } Complaint nc = new Complaint(); nc.Code = model.Code; nc.ComplaintOwnerEmail = null; nc.ComplaintOwnerName = null; nc.ComplaintTypeId = model.ComplaintTypeId; nc.Date = DateTime.Now; nc.Details = model.Details; nc.Location = model.Location; nc.MobileNo = model.MobileNo; nc.RegisteredBy = user.UserId; nc.SolutionStatusId = 1; nc.StatusId = model.StatusId; nc.Title = model.Title; using (var cmd = new TransactionScope()) { try { _complaint.Create(nc); //ComplaintActivity ca = new ComplaintActivity(); //ca.ComplaintId = nc.ComplaintId; //ca.Date = DateTime.Now; //ca.RecordedBy = user.UserId; //ca.SolutionDetails = model.SolutionDetails; //ca.SolutionStatusId = model.SolutionStatusId; //ca.SolutionTypeId = model.SolutionTypeId; //_complaintActivity.Create(ca); cmd.Complete(); ViewBag.Msg = _help.getMsg(AlertType.success.ToString(), "Complaint added successful!"); return(View(new NewComplaint())); } catch (Exception er) { cmd.Dispose(); ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), er.Message); return(View(model)); } } } else { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), "Complaint title already exist!"); return(View(model)); } } else { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), "All fields with * are required!"); return(View(model)); } } catch (Exception ex) { ViewBag.Msg = _help.getMsg(AlertType.danger.ToString(), ex.Message); return(View(model)); } }