public ActionResult Submit(RolesViewModel roles) { if (!caSession.AuthoriseSession()) { return(Redirect((string)Session["ErrorUrl"])); } // get properties of current tenant var tenant = caCurrent.CurrentTenant(); // get properties of user caUser user = caCurrent.CurrentUser(); try { if (ModelState.IsValid) { if (roles.Id <= 0) { //insert roles.CreatedBy = user.UserId; roles.UpdatedBy = user.UserId; roles.DateCreated = DateTime.UtcNow; roles.DateUpdated = DateTime.UtcNow; roles.TenantId = tenant.TenantId; roles.Id = _rolesServices.Insert(Mapper.Map <Roles>(roles), CurrentUserId); ViewBag.Message = $"Successfully Added on {DateTime.Now}."; } else { //update Roles newRole = _rolesServices.GetByRolesId(roles.Id); newRole.RoleName = roles.RoleName; newRole.TenantId = tenant.TenantId; newRole.UpdatedBy = user.UserId; newRole.DateUpdated = DateTime.UtcNow; _rolesServices.Update(Mapper.Map <Roles>(newRole), CurrentUserId); ViewBag.Message = $"Successfully Updated on {DateTime.Now}."; } return(RedirectToAction("Index", new { message = ViewBag.Message })); } else //ModelState.IsValid is not valid { return(View("_CreateEdit", Mapper.Map(_rolesServices.GetByRolesId(roles.Id), new RolesViewModel()))); } } catch (Exception e) { //log exception var err = e.Message; return(View("_ErrorResult")); } }