Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }