public AccountingObjectResponse GetAccountingObjects(AccountingObjectRequest request) { var response = new AccountingObjectResponse(); if (request.LoadOptions.Contains("AccountingObjects")) { if (request.LoadOptions.Contains("IsActive")) { response.AccountingObjects = AccountingObjectDao.GetAccountingObjectByActives(request.IsActive); } else if (request.LoadOptions.Contains("ForList")) { response.AccountingObjects = AccountingObjectDao.GetAccountingObjectsForList(); } else { response.AccountingObjects = AccountingObjectDao.GetAccountingObjects(); } } if (request.LoadOptions.Contains("AccountingObject")) { response.AccountingObject = AccountingObjectDao.GetAccountingObjectById(request.AccountingObjectId); } return(response); }
public AccountingObjectResponse InsertAccountObjectConvert(AccountingObjectEntity accountingObjectEntity) { var response = new AccountingObjectResponse { Acknowledge = AcknowledgeType.Success }; try { var accoutingObjects = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObject = accoutingObjects.Where(x => x.IsEmployee = false).ToList(); if (accoutingObject.Count > 0 && accountingObjectEntity.IsEmployee == false) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã đối tượng " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } var accoutingObjectEmployees = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObjectEmployee = accoutingObjectEmployees.Where(x => x.IsEmployee).ToList(); if (accoutingObjectEmployee.Count > 0 && accountingObjectEntity.IsEmployee == true) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã nhân viên " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } if (!accountingObjectEntity.Validate()) { foreach (string error in accountingObjectEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } var accObject = AccountingObjectCategoryDao.GetAccountingObjectCategory(accountingObjectEntity.AccountingObjectCategoryId); if (accObject != null) { if (accObject.AccountingObjectCategoryCode == "NCC") { accountingObjectEntity.IsCustomerVendor = true; } } // var validAccountingObject = AccountingObjectDao.Get response.Message = AccountingObjectDao.InsertAccountingObject(accountingObjectEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } response.AccountingObjectId = accountingObjectEntity.AccountingObjectId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
public AccountingObjectResponse DeleteAccountingObjectConvert() { var response = new AccountingObjectResponse { Acknowledge = AcknowledgeType.Success }; try { response.Message = AccountingObjectDao.DeleteAccountingObjectConvert(); return(response); } catch (SqlException sqlException) { response.Acknowledge = AcknowledgeType.Failure; response.Message = sqlException.Message; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
public AccountingObjectResponse SetAccountingObjects(AccountingObjectRequest request) { var response = new AccountingObjectResponse(); var accountingObjectEntity = request.AccountingObject; if (request.Action != PersistType.Delete) { if (!accountingObjectEntity.Validate()) { foreach (string error in accountingObjectEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } } try { if (request.Action == PersistType.Insert) { var accountingObject = AccountingObjectDao.GetAccountingObjectByCodes(accountingObjectEntity.AccountingObjectCode); if (accountingObject != null && accountingObject.Count > 0) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã đối tượng " + accountingObjectEntity.AccountingObjectCode + @" đã tồn tại !"; return(response); } AutoNumberListDao.UpdateIncreateAutoNumberListByValue("AccountingObject"); accountingObjectEntity.AccountingObjectId = AccountingObjectDao.InsertAccountingObject(accountingObjectEntity); response.Message = null; } else if (request.Action == PersistType.Update) { var accountingObject = AccountingObjectDao.GetAccountingObjectByCodes(accountingObjectEntity.AccountingObjectCode); if (accountingObject != null && accountingObject.Count > 0) { if (accountingObject.Where(w => w.AccountingObjectId != accountingObjectEntity.AccountingObjectId).Count() > 0) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã đối tượng " + accountingObjectEntity.AccountingObjectCode + @" đã tồn tại !"; return(response); } } response.Message = AccountingObjectDao.UpdateAccountingObject(accountingObjectEntity); } else { var accountEntityForDelete = AccountingObjectDao.GetAccountingObjectById(request.AccountingObjectId); response.Message = AccountingObjectDao.DeleteAccountingObject(accountEntityForDelete); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } response.AccountingObjectId = accountingObjectEntity != null ? accountingObjectEntity.AccountingObjectId : 0; response.Acknowledge = response.Message != null ? AcknowledgeType.Failure : AcknowledgeType.Success; return(response); }
/// <summary> /// Inserts the account object. /// </summary> /// <param name="accountingObjectEntity">The accounting object entity.</param> /// <returns></returns> public AccountingObjectResponse InsertAccountObject(AccountingObjectEntity accountingObjectEntity) { var response = new AccountingObjectResponse { Acknowledge = AcknowledgeType.Success }; try { var accoutingObjects = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObject = accoutingObjects.Where(x => x.IsEmployee = false).ToList(); if (accoutingObject.Count > 0 && accountingObjectEntity.IsEmployee == false) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã đối tượng " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } var accoutingObjectEmployees = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObjectEmployee = accoutingObjectEmployees.Where(x => x.IsEmployee).ToList(); if (accoutingObjectEmployee.Count > 0 && accountingObjectEntity.IsEmployee == true) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã nhân viên " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } if (!accountingObjectEntity.Validate()) { foreach (string error in accountingObjectEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } accountingObjectEntity.AccountingObjectId = Guid.NewGuid().ToString(); var accObject = AccountingObjectCategoryDao.GetAccountingObjectCategory(accountingObjectEntity.AccountingObjectCategoryId); if (accObject != null) { if (accObject.AccountingObjectCategoryCode == "NCC") { accountingObjectEntity.IsCustomerVendor = true; } } // var validAccountingObject = AccountingObjectDao.Get response.Message = AccountingObjectDao.InsertAccountingObject(accountingObjectEntity); if (accountingObjectEntity.AccountingObjectBanks.Count() > 0) { accountingObjectEntity.AccountingObjectBanks.ForEach(item => { var bank = new BankEntity() { BankId = Guid.NewGuid().ToString(), BankAccount = item.BankAccount, BankName = item.BankName, IsActive = true, ProjectId = accountingObjectEntity.AccountingObjectId, IsOpenInBank = true, SortBank = item.SortBank, }; BankDAO.InsertBank(bank); }); } if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } response.AccountingObjectId = accountingObjectEntity.AccountingObjectId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
/// <summary>AccountingObject /// Deletes the account category. /// </summary> /// <param name="accountingObjectId">The accounting object identifier.</param> /// <returns> /// AccountCategoryResponse. /// </returns> public AccountingObjectResponse DeleteAccountingObject(string accountingObjectId) { var response = new AccountingObjectResponse { Acknowledge = AcknowledgeType.Success }; try { var accountingObjectEntity = AccountingObjectDao.GetAccountingObjectById(accountingObjectId); response.Message = AccountingObjectDao.DeleteAccountingObject(accountingObjectEntity); if (!string.IsNullOrEmpty(response.Message)) { if ( response.Message.Contains("FK_AccountingObject_AccountingObject") || response.Message.Contains("FK_BABankTransferDetailParallel_AccountingObject") || response.Message.Contains("FK_BADeposit_AccountingObject_AccountingObjectID") || response.Message.Contains("FK_BADepositDetail_AccountingObject") || response.Message.Contains("FK_BADepositDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_BADepositDetailParallel_AccountingObject") || response.Message.Contains("FK_BADepositDetailSale_AccountingObject") || response.Message.Contains("FK_BAWithDraw_AccountingObject") || response.Message.Contains("FK_BAWithDrawDetail_AccountingObject") || response.Message.Contains("FK_BAWithDrawDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_BAWithDrawDetailParallel_AccountingObject") || response.Message.Contains("FK_BAWithDrawDetailPurchase_AccountingObject") || response.Message.Contains("FK_BUCommitmentRequest_AccountingObject") || response.Message.Contains("FK_BUPlanWithdraw_AccountingObject") || response.Message.Contains("FK_BUTransfer_AccountingObject") || response.Message.Contains("FK_BUTransferDetail_AccountingObject") || response.Message.Contains("FK_BUTransferDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_BUTransferDetailParallel_AccountingObject") || response.Message.Contains("FK_BUTransferDetailPurchase_AccountingObject") || response.Message.Contains("FK_BUVoucherListDetailParallel_AccountingObject") || response.Message.Contains("FK_CAPayment_AccountingObject") || response.Message.Contains("FK_CAPaymentDetail_AccountingObject") || response.Message.Contains("FK_CAPaymentDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_CAPaymentDetailParallel_AccountingObject") || response.Message.Contains("FK_CAPaymentDetailPurchase_AccountingObject") || response.Message.Contains("FK_CAPaymentDetailSalary_AccountingObject") || response.Message.Contains("FK_CAReceipt_AccountingObject") || response.Message.Contains("FK_CAReceiptDetail_AccountingObject") || response.Message.Contains("FK_CAReceiptDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_CAReceiptDetailParallel_AccountingObject") || response.Message.Contains("FK_FAAdjustmentDetail_AccountingObject") || response.Message.Contains("FK_FADepreciationDetail_AccountingObject") || response.Message.Contains("FK_FAIncrementDecrementDetail_AccountingObject") || response.Message.Contains("FK_FixedAsset_AccountingObject_VendorID") || response.Message.Contains("FK_GeneralLedger_AccountingObject_AccountingObjectID") || response.Message.Contains("FK_GLVoucherDetail_AccountingObject") || response.Message.Contains("FK_GLVoucherDetail_AccountingObject1") || response.Message.Contains("FK_GLVoucherDetailParallel_AccountingObject") || response.Message.Contains("FK_INInwardOutward_AccountingObject_AccountingObjectID") || response.Message.Contains("FK_INInwardOutwardDetail_AccountingObject") || response.Message.Contains("FK_OpeningAccountEntry_AccountingObject") || response.Message.Contains("FK_PASalarySortOrder_AccountingObject") || response.Message.Contains("FK_PUInvoice_AccountingObject") || response.Message.Contains("FK_PUInvoiceDetailFixedAsset_AccountingObject") || response.Message.Contains("FK_SUIncrementDecrementDetail_AccountingObject")) { if (accountingObjectEntity.IsEmployee) { response.Message = @"Bạn không thể xóa cán bộ '" + accountingObjectEntity.AccountingObjectCode + "' vì đã có phát sinh trong chứng từ hoặc danh mục liên quan!"; } else { response.Message = @"Bạn không thể xóa đối tượng '" + accountingObjectEntity.AccountingObjectCode + "' vì đã có phát sinh trong chứng từ hoặc danh mục liên quan!"; } } response.Acknowledge = AcknowledgeType.Failure; return(response); } response.AccountingObjectId = accountingObjectEntity.AccountingObjectId; return(response); } catch (SqlException sqlException) { response.Acknowledge = AcknowledgeType.Failure; response.Message = sqlException.Message; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
/// <summary> /// Updates the accounting object. /// </summary> /// <param name="accountingObjectEntity">The accounting object entity.</param> /// <returns></returns> public AccountingObjectResponse UpdateAccountingObject(AccountingObjectEntity accountingObjectEntity) { var response = new AccountingObjectResponse { Acknowledge = AcknowledgeType.Success }; try { var accoutingObjects = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObject = accoutingObjects.Where(x => x.IsEmployee == false && x.AccountingObjectId != accountingObjectEntity.AccountingObjectId).ToList(); if (accoutingObject.Count > 0 && accountingObjectEntity.IsEmployee == false) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã đối tượng " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } var accoutingObjectEmployees = AccountingObjectDao.GetAccountingObjectByCode(accountingObjectEntity.AccountingObjectCode.Trim()); var accoutingObjectEmployee = accoutingObjectEmployees.Where(x => x.IsEmployee && x.AccountingObjectId != accountingObjectEntity.AccountingObjectId).ToList(); if (accoutingObjectEmployee.Count > 0 && accountingObjectEntity.IsEmployee == true) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã nhân viên " + accountingObjectEntity.AccountingObjectCode.Trim() + @" đã tồn tại!"; return(response); } if (!accountingObjectEntity.Validate()) { foreach (string error in accountingObjectEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } var accObject = AccountingObjectCategoryDao.GetAccountingObjectCategory(accountingObjectEntity.AccountingObjectCategoryId); if (accObject != null) { if (accObject.AccountingObjectCategoryCode == "NCC") { accountingObjectEntity.IsCustomerVendor = true; } } response.Message = AccountingObjectDao.UpdateAccountingObject(accountingObjectEntity); // lay ra danh sach bank cu var oldBanks = BankDAO.GetProjectBank(accountingObjectEntity.AccountingObjectId); var newbanks = accountingObjectEntity.AccountingObjectBanks; oldBanks = oldBanks.Where(o => accountingObjectEntity.AccountingObjectBanks.Count() == 0 || !accountingObjectEntity.AccountingObjectBanks.Any(pb => o.BankId == pb.BankId)).ToList(); if (oldBanks.Count() > 0 && newbanks.Count != 0) { oldBanks.ForEach(bank => { response.Message = BankDAO.DeleteBank(bank); if (!string.IsNullOrEmpty(response.Message)) { if (response.Message.Contains("FK")) { response.Message = @"Bạn không thể xóa tài khoản " + bank.BankAccount + " vì đã có phát sinh trong chứng từ hoặc danh mục liên quan!"; } response.Acknowledge = AcknowledgeType.Failure; throw new Exception(response.Message); } }); } ; #region insert bank if (accountingObjectEntity.AccountingObjectBanks.Count() > 0) { accountingObjectEntity.AccountingObjectBanks.ForEach(item => { if (item.BankId == null || item.BankId == Guid.Empty.ToString()) { var bank = new BankEntity() { BankId = Guid.NewGuid().ToString(), BankAccount = item.BankAccount, BankName = item.BankName, IsActive = true, ProjectId = accountingObjectEntity.AccountingObjectId, IsOpenInBank = true, SortBank = item.SortBank, }; BankDAO.InsertBank(bank); } else { var bank = new BankEntity() { BankId = item.BankId, BankAccount = item.BankAccount, BankName = item.BankName, IsActive = true, ProjectId = accountingObjectEntity.AccountingObjectId, IsOpenInBank = true, SortBank = item.SortBank, }; BankDAO.UpdateBank(bank); } }); } #endregion if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } response.AccountingObjectId = accountingObjectEntity.AccountingObjectId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }