public tblM_MappingUserToRoleGroup Insert(MappingUserToRoleGroupDTO mappingUserToRoleGroupDTO, DateTime dateStamp) { if (mappingUserToRoleGroupDTO == null) { throw new ArgumentNullException("MappingUserToRoleGroup model is null."); } var recordIsExist = Db.tblM_MappingUserToRoleGroup.Find(mappingUserToRoleGroupDTO.User_PK, mappingUserToRoleGroupDTO.RoleGroup_PK) != null; if (recordIsExist) { throw new KairosException("User already exist in the group."); } var user = new UserQuery(Db).GetByPrimaryKey((int)mappingUserToRoleGroupDTO.User_PK); if (user != null) { if (assignableJabatan.Contains(user.KategoriJabatan_FK)) { var mappingUserRoleGroupCount = Db.tblM_MappingUserToRoleGroup.Where(x => x.User_PK == user.User_PK).Count(); //if (mappingUserRoleGroupCount > 0) //{ // throw new KairosException($"This user cannot have more than one role group because its position is '{user.KategoriJabatanTitle}'."); //} } } tblM_MappingUserToRoleGroup mappingUserToRoleGroup = mappingUserToRoleGroupFactory.CreateFromDTO(mappingUserToRoleGroupDTO, dateStamp); return(Db.tblM_MappingUserToRoleGroup.Add(mappingUserToRoleGroup)); }
public void Update(MappingUserToRoleGroupDTO mappingUserToRoleGroupDTO, DateTime dateStamp) { if (mappingUserToRoleGroupDTO == null) { throw new ArgumentNullException("MappingUserToRoleGroup model is null."); } tblM_MappingUserToRoleGroup mappingUserToRoleGroup = mappingUserToRoleGroupFactory.CreateFromDbAndUpdateFromDTO(mappingUserToRoleGroupDTO, dateStamp); }
public MappingUserToRoleGroupDTO GetByPrimaryKey(int roleGroupPk, int userPk) { MappingUserToRoleGroupDTO record = GetQuery() .FirstOrDefault(mappingUserToRoleGroup => mappingUserToRoleGroup.RoleGroup_PK == roleGroupPk && mappingUserToRoleGroup.User_PK == userPk ); return(record); }
public void CreateRoleGroupIfJabatanIsAssignable(UserDTO userDTO, DateTime dateStamp) { MappingUserToRoleGroupCreateHandler mappingUserToRoleGroupCreateHandler = new MappingUserToRoleGroupCreateHandler(Db, User, new MappingUserToRoleGroup.MappingUserToRoleGroupValidator(), new MappingUserToRoleGroup.MappingUserToRoleGroupFactory(Db, User), new MappingUserToRoleGroup.Queries.MappingUserToRoleGroupQuery(), new AccessControl(User)); if (assignableJabatan.Contains(userDTO.KategoriJabatan_FK)) { jabatanRoleGroupMapping.TryGetValue(userDTO.KategoriJabatan_FK, out int roleGroupPk); var mappingUserToRoleDTO = new MappingUserToRoleGroupDTO { User_PK = userDTO.User_PK, RoleGroup_PK = roleGroupPk }; mappingUserToRoleGroupCreateHandler.Save(mappingUserToRoleDTO, dateStamp); } }
public tblM_MappingUserToRoleGroup Insert(MappingUserToRoleGroupDTO mappingUserToRoleGroupDTO, DateTime dateStamp) { if (mappingUserToRoleGroupDTO == null) { throw new ArgumentNullException("MappingUserToRoleGroup model is null."); } var recordIsExist = Db.tblM_MappingUserToRoleGroup.Find(mappingUserToRoleGroupDTO.User_PK, mappingUserToRoleGroupDTO.RoleGroup_PK) != null; if (recordIsExist) { throw new KairosException("User already exist in the group."); } tblM_MappingUserToRoleGroup mappingUserToRoleGroup = mappingUserToRoleGroupFactory.CreateFromDTO(mappingUserToRoleGroupDTO, dateStamp); return(Db.tblM_MappingUserToRoleGroup.Add(mappingUserToRoleGroup)); }
public SaveResult <MappingUserToRoleGroupEntryModel> Save(MappingUserToRoleGroupDTO mappingUserToRoleGroupDTO, DateTime dateStamp) { ModelValidationResult validationResult = mappingUserToRoleGroupValidator.Validate(mappingUserToRoleGroupDTO); bool success = false; MappingUserToRoleGroupEntryModel model = null; if (validationResult.IsValid) { success = true; Update(mappingUserToRoleGroupDTO, dateStamp); Db.SaveChanges(); model = mappingUserToRoleGroupEntryDataProvider.Get(mappingUserToRoleGroupDTO.RoleGroup_PK.Value, mappingUserToRoleGroupDTO.User_PK.Value); } return(new SaveResult <MappingUserToRoleGroupEntryModel> { Success = success, Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.", Model = model, ValidationResult = validationResult }); }
public IHttpActionResult Update([FromBody] MappingUserToRoleGroupDTO mappingUserToRoleGroup) { ThrowIfUserHasNoRole(updateRole); if (mappingUserToRoleGroup == null) { throw new KairosException("Missing model parameter"); } using (var mappingUserToRoleGroupUpdateHandler = new MappingUserToRoleGroupUpdateHandler(Db, ActiveUser, new MappingUserToRoleGroupValidator(), new MappingUserToRoleGroupFactory(Db, ActiveUser), new MappingUserToRoleGroupQuery(Db), AccessControl)) { using (var transaction = new TransactionScope()) { var saveResult = mappingUserToRoleGroupUpdateHandler.Save(mappingUserToRoleGroup, DateTime.Now); transaction.Complete(); if (saveResult.Success) { return(Ok(new SuccessResponse(saveResult.Model, saveResult.Message))); } return(Ok(new ErrorResponse(ServiceStatusCode.ValidationError, saveResult.ValidationResult, saveResult.Message))); } } }