//insert/update module api public IHttpActionResult Post(Module module) { try { if (module.ModuleID == 0) { if (db.Modules.Any((x => x.ModuleName == module.ModuleName && x.IsDeleted == false))) { res["success"] = 0; res["message"] = "Module already exist."; } else { //get Module Slug module.PageSlug = generalHelper.GetModuleSlug(module.ModuleName, Convert.ToInt32(module.ParentModuleID)); module.IsActive = true; module.IsDefault = false; module.IsDeleted = false; db.Modules.Add(module); db.SaveChanges(); res["success"] = 1; res["message"] = "Module created successfully."; } } else { if (db.Modules.Any((x => x.ModuleName == module.ModuleName && x.ModuleID != module.ModuleID && x.IsDeleted == false))) { res["success"] = 0; res["message"] = "Module already exist."; } else { if (module.IsDefault == true) { res["success"] = 0; res["message"] = "Module can not update."; } else { db.Entry(module).State = EntityState.Modified; db.SaveChanges(); res["success"] = 1; res["message"] = "Module updated Successfully."; } } } } catch (Exception ex) { res["success"] = 0; res["message"] = ex.Message.ToString(); } return(Ok(res)); }
//Roles insert/update api public IHttpActionResult Post(Roles role) { try { if (role.RoleID == 0) { if (db.Roles.Any((x => x.RoleName == role.RoleName && x.IsDeleted == false))) { res["success"] = 0; res["message"] = "Role already exist."; } else { Role objrole = new Role(); objrole.RoleID = role.RoleID; objrole.Description = role.Description; objrole.DisplayName = role.DisplayName; objrole.RoleName = role.RoleName; objrole.IsDeleted = false; objrole.InsertDate = DateTime.Now; objrole.IsDeleted = false; db.Roles.Add(objrole); db.SaveChanges(); for (var i = 0; i < role.UserPermission.Count(); i++) { role.UserPermission[i].RoleID = objrole.RoleID; db.UserPermissions.Add(role.UserPermission[i]); db.SaveChanges(); } res["success"] = 1; res["message"] = "Role created successfully."; } } else { if (db.Roles.Any((x => x.RoleName == role.RoleName && x.RoleID != role.RoleID && x.IsDeleted == false))) { res["success"] = 0; res["message"] = "Role already exist."; } else { Role objrole = db.Roles.FirstOrDefault(x => x.RoleID == role.RoleID); if (objrole.IsDefault == false) { res["success"] = 0; res["message"] = "Module can not update."; } else { objrole.RoleID = role.RoleID; objrole.Description = role.Description; objrole.DisplayName = role.DisplayName; objrole.RoleName = role.RoleName; objrole.IsDeleted = false; objrole.LastModifiedDate = DateTime.Now; objrole.IsDeleted = false; db.Entry(objrole).State = EntityState.Modified; db.SaveChanges(); //Delete all User Permission List <Entities.UserPermission> listPermission = db.UserPermissions.Where(x => x.RoleID == role.RoleID).ToList(); foreach (var objpermission in listPermission) { db.UserPermissions.Remove(objpermission); } db.SaveChanges(); //Create New Permission of users for (var i = 0; i < role.UserPermission.Count(); i++) { role.UserPermission[i].RoleID = objrole.RoleID; db.UserPermissions.Add(role.UserPermission[i]); db.SaveChanges(); } res["success"] = 1; res["message"] = "Role updated Successfully."; } } } } catch (Exception ex) { res["success"] = 0; res["message"] = ex.Message.ToString(); } return(Ok(res)); }