public async Task <ActionResult> Edit(EditStaffModel model) { if (ModelState.IsValid) { var response = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Put, $"Administration/Staff?id={model.Id}", model); if (response.isSuccess) { await LogActivity(Modules.Setting, "Update Staff", model); TempData["SuccessMessage"] = Language.Administrator.Staff.AlertEditSuccess; return(RedirectToAction("Details", "Staff", new { area = "Administrator", @id = model.Id })); } else { TempData["ErrorMessage"] = Language.Administrator.Staff.AlertEditFail; return(RedirectToAction("Details", "Staff", new { area = "Administrator", @id = model.Id })); } } model.Roles = new SelectList(await GetRoles(), "Id", "Name", 0); return(View(model)); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(HttpNotFound()); } var response = await WepApiMethod.SendApiAsync <DetailsStaffModel>(HttpVerbs.Get, $"Administration/Staff?id={id}"); if (!response.isSuccess) { return(HttpNotFound()); } var model = new EditStaffModel { Id = response.Data.Id, Name = response.Data.Name, ICNo = response.Data.ICNo, Email = response.Data.Email, MobileNo = response.Data.MobileNo, BranchId = response.Data.Branch != null ? response.Data.Branch.Id : (int?)null, Department = response.Data.Department, Designation = response.Data.Designation, StaffId = response.Data.StaffId, CountryCode = response.Data.CountryCode, RoleIds = response.Data.Roles.Select(s => s.Id).ToArray(), Status = response.Data.Status }; model.Roles = new SelectList(await GetRoles(), "Id", "Name", 0); model.Branches = new SelectList(await GetBranches(), "Id", "Name", 0); return(View(model)); }
public IHttpActionResult Put(int id, [FromBody] EditStaffModel model) { var user = db.User.Where(u => u.Id == id && u.Display && u.UserType == UserType.Staff).FirstOrDefault(); var staff = db.StaffProfile.Where(i => i.UserId == id).FirstOrDefault(); //var useraccount = db.UserAccount.Where(u => u.UserId == id).FirstOrDefault(); if (user == null || staff == null) { return(NotFound()); } if (ModelState.IsValid) { staff.BranchId = model.BranchId; db.StaffProfile.Attach(staff); db.Entry(staff).Property(m => m.BranchId).IsModified = true; db.UserRole.RemoveRange(db.UserRole.Where(u => u.UserId == id));//remove all foreach (var roleid in model.RoleIds) { var userrole = new UserRole { RoleId = roleid, UserId = id }; db.UserRole.Add(userrole); } db.Configuration.ValidateOnSaveEnabled = true; db.SaveChanges(); return(Ok(true)); } return(BadRequest(ModelState)); }