public ActionResult Post(Charge vm) { Charge pt = vm; if (ModelState.IsValid) { if (vm.ChargeId <= 0) { pt.CreatedDate = DateTime.Now; pt.ModifiedDate = DateTime.Now; pt.CreatedBy = User.Identity.Name; pt.ModifiedBy = User.Identity.Name; pt.ObjectState = Model.ObjectState.Added; _ChargeService.Create(pt); ActivityLog log = new ActivityLog() { ActivityType = (int)(ActivityTypeContants.Added), CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, DocId = pt.ChargeId, Narration = "A new Charge is created with the Id " + pt.ChargeId, }; try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(View("Create", vm)); } return(RedirectToAction("Create").Success("Data saved successfully")); } else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); Charge temp = _ChargeService.Find(pt.ChargeId); Charge ExRec = Mapper.Map <Charge>(temp); temp.ChargeName = pt.ChargeName; temp.ChargeCode = pt.ChargeCode; temp.IsActive = pt.IsActive; temp.ModifiedDate = DateTime.Now; temp.ModifiedBy = User.Identity.Name; temp.ObjectState = Model.ObjectState.Modified; _ChargeService.Update(temp); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = temp, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(View("Create", pt)); } //LogActivity.LogActivityDetail(new DocumentTypeService(_unitOfWork).Find(MasterDocTypeConstants.Charge).DocumentTypeId, //temp.ChargeId, //null, //(int)ActivityTypeContants.Modified, //"", //User.Identity.Name, temp.ChargeName, Modifications); LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = new DocumentTypeService(_unitOfWork).FindByName(MasterDocTypeConstants.Charge).DocumentTypeId, DocId = temp.ChargeId, ActivityType = (int)ActivityTypeContants.Modified, xEModifications = Modifications, })); return(RedirectToAction("Index").Success("Data saved successfully")); } } return(View("Create", vm)); }