public CatChargeAddOrUpdateModel GetChargeById(Guid id) { CatChargeAddOrUpdateModel returnCharge = new CatChargeAddOrUpdateModel(); var charge = DataContext.Get(x => x.Id == id).FirstOrDefault(); var listChargeDefault = chargeDefaultRepository.Get(x => x.ChargeId == id).ToList(); returnCharge.Charge = charge; // Update permission ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catCharge); var permissionRangeWrite = PermissionExtention.GetPermissionRange(currentUser.UserMenuPermission.Write); BaseUpdateModel baseModel = new BaseUpdateModel { UserCreated = returnCharge.Charge.UserCreated, CompanyId = returnCharge.Charge.CompanyId, DepartmentId = returnCharge.Charge.DepartmentId, OfficeId = returnCharge.Charge.OfficeId, GroupId = returnCharge.Charge.GroupId }; returnCharge.Permission = new PermissionAllowBase { AllowUpdate = PermissionExtention.GetPermissionDetail(permissionRangeWrite, baseModel, currentUser), }; returnCharge.ListChargeDefaultAccount = listChargeDefault; return(returnCharge); }
public HandleState UpdateCharge(CatChargeAddOrUpdateModel model) { using (var trans = DataContext.DC.Database.BeginTransaction()) { try { model.Charge.UserModified = currentUser.UserID; model.Charge.DatetimeModified = DateTime.Now; model.Charge.GroupId = currentUser.GroupId; model.Charge.DepartmentId = currentUser.DepartmentId; model.Charge.OfficeId = currentUser.OfficeID; model.Charge.CompanyId = currentUser.CompanyID; var hs = DataContext.Update(model.Charge, x => x.Id == model.Charge.Id, false); if (hs.Success == false) { return(hs); } foreach (var item in model.ListChargeDefaultAccount) { if (item.Id == 0) { item.ChargeId = model.Charge.Id; item.UserCreated = item.UserModified = currentUser.UserID; item.DatetimeCreated = item.DatetimeModified = DateTime.Now; chargeDefaultRepository.Add(item, false); } else { chargeDefaultRepository.Delete(x => x.ChargeId == item.ChargeId); item.UserModified = currentUser.UserID; item.DatetimeModified = DateTime.Now; item.Id = 0; chargeDefaultRepository.Add(item, false); } } chargeDefaultRepository.SubmitChanges(); DataContext.SubmitChanges(); trans.Commit(); ClearCache(); Get(); return(hs); } catch (Exception ex) { trans.Rollback(); return(new HandleState(ex.Message)); } finally { trans.Dispose(); } } }
public HandleState AddCharge(CatChargeAddOrUpdateModel model) { using (var trans = DataContext.DC.Database.BeginTransaction()) { Guid chargeId = Guid.NewGuid(); model.Charge.Id = chargeId; model.Charge.Active = true; model.Charge.UserCreated = model.Charge.UserModified = currentUser.UserID; model.Charge.DatetimeCreated = DateTime.Now; // Update permission model.Charge.GroupId = currentUser.GroupId; model.Charge.DepartmentId = currentUser.DepartmentId; model.Charge.OfficeId = currentUser.OfficeID; model.Charge.CompanyId = currentUser.CompanyID; try { var hs = DataContext.Add(model.Charge, false); if (hs.Success == false) { return(hs); } foreach (var x in model.ListChargeDefaultAccount) { x.ChargeId = chargeId; x.Active = true; x.UserCreated = x.UserModified = currentUser.UserID; x.DatetimeCreated = DateTime.Now; chargeDefaultRepository.Add(x, false); } chargeDefaultRepository.SubmitChanges(); DataContext.SubmitChanges(); ClearCache(); Get(); trans.Commit(); return(hs); } catch (Exception ex) { trans.Rollback(); return(new HandleState(ex.Message)); } finally { trans.Dispose(); } } }
private string CheckExist(Guid id, CatChargeAddOrUpdateModel model) { string message = string.Empty; if (id == Guid.Empty) { if (catChargeService.Any(x => (x.Code.ToLower() == model.Charge.Code.ToLower()))) { message = stringLocalizer[LanguageSub.MSG_CODE_EXISTED].Value; } } else { if (catChargeService.Any(x => ((x.Code.ToLower() == model.Charge.Code.ToLower())) && x.Id != id)) { message = stringLocalizer[LanguageSub.MSG_CODE_EXISTED].Value; } } return(message); }
public IActionResult Update(CatChargeAddOrUpdateModel model) { ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catCharge); PermissionRange permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Write); if (permissionRange == PermissionRange.None || !catChargeService.CheckAllowPermissionAction(model.Charge.Id, permissionRange)) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } if (!ModelState.IsValid) { return(BadRequest()); } var checkExistMessage = CheckExist(model.Charge.Id, model); if (checkExistMessage.Length > 0) { return(BadRequest(new ResultHandle { Status = false, Message = checkExistMessage })); } var hs = catChargeService.UpdateCharge(model); var message = HandleError.GetMessage(hs, Crud.Update); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }