private static object[] Take(SupplyLedgerEntity supplyLedgerEntity) { return(new object[] { "@SupplyLedgerID", supplyLedgerEntity.SupplyLedgerId, "@RefID", supplyLedgerEntity.RefId, "@RefDetailID", supplyLedgerEntity.RefDetailId, "@RefType", supplyLedgerEntity.RefType, "@RefNo", supplyLedgerEntity.RefNo, "@RefDate", supplyLedgerEntity.RefDate, "@PostedDate", supplyLedgerEntity.PostedDate, "@Description", supplyLedgerEntity.Description, "@JournalMemo", supplyLedgerEntity.JournalMemo, "@InventoryItemID", supplyLedgerEntity.InventoryItemId, "@DepartmentID", supplyLedgerEntity.DepartmentId, "@CurrencyCode", supplyLedgerEntity.CurrencyCode, "@ExchangeRate", supplyLedgerEntity.ExchangeRate, "@Unit", supplyLedgerEntity.Unit, "@Quantity", supplyLedgerEntity.Quantity, "@UnitPriceOc", supplyLedgerEntity.UnitPriceOc, "@UnitPriceExchange", supplyLedgerEntity.UnitPriceExchange, "@AmountOc", supplyLedgerEntity.AmountOc, "@AmountExchange", supplyLedgerEntity.AmountExchange, }); }
private SupplyLedgerEntity MakeSupplyLedger(OpeningSupplyEntryEntity openingSupplyEntry) { var result = new SupplyLedgerEntity(); result.SupplyLedgerId = 0; result.RefId = openingSupplyEntry.RefId; result.RefDetailId = 0; result.RefType = openingSupplyEntry.RefType; result.RefNo = "OPN"; result.RefDate = openingSupplyEntry.RefDate; result.PostedDate = openingSupplyEntry.PostedDate; result.Description = null; result.JournalMemo = null; result.InventoryItemId = openingSupplyEntry.InventoryItemId; result.DepartmentId = openingSupplyEntry.DepartmentId; result.CurrencyCode = openingSupplyEntry.CurrencyCode; result.ExchangeRate = openingSupplyEntry.ExchangeRate; result.Unit = InventoryItemDao.GetInventoryItem(openingSupplyEntry.InventoryItemId)?.Unit ?? null; result.Quantity = openingSupplyEntry.Quantity; result.UnitPriceOc = openingSupplyEntry.UnitPriceOc; result.UnitPriceExchange = openingSupplyEntry.UnitPriceExchange; result.AmountOc = openingSupplyEntry.AmountOc; result.AmountExchange = openingSupplyEntry.AmountExchange; return(result); }
private SupplyLedgerEntity MakeSupplyLedger(SUIncrementDecrementEntity suIncrementDecrement, SUIncrementDecrementDetailEntity suIncrementDecrementDetail) { var result = new SupplyLedgerEntity(); result.SupplyLedgerId = 0; result.RefId = suIncrementDecrement.RefId; result.RefDetailId = suIncrementDecrementDetail.RefDetailId; result.RefType = suIncrementDecrement.RefType; result.RefNo = suIncrementDecrement.RefNo; result.RefDate = suIncrementDecrement.RefDate; result.PostedDate = suIncrementDecrement.PostedDate; result.Description = suIncrementDecrementDetail.Description; result.JournalMemo = suIncrementDecrement.JournalMemo; result.InventoryItemId = suIncrementDecrementDetail.InventoryItemId; result.DepartmentId = suIncrementDecrementDetail.DepartmentId; result.CurrencyCode = suIncrementDecrement.CurrencyCode; result.ExchangeRate = suIncrementDecrement.ExchangeRate; result.Unit = InventoryItemDao.GetInventoryItem(suIncrementDecrementDetail.InventoryItemId)?.Unit ?? null; result.Quantity = suIncrementDecrementDetail.Quantity; result.UnitPriceOc = suIncrementDecrementDetail.UnitPriceOc; result.UnitPriceExchange = suIncrementDecrementDetail.UnitPriceExchange; result.AmountOc = suIncrementDecrementDetail.AmountOc; result.AmountExchange = suIncrementDecrementDetail.AmountExchange; return(result); }
/// <summary> /// Takes the specified fixed asset ledger. /// </summary> /// <param name="supplyLedgerEntity">The supply ledger entity.</param> /// <returns></returns> private static object[] Take(SupplyLedgerEntity supplyLedgerEntity) { return(new object[] { "@SupplyLedgerID", supplyLedgerEntity.SupplyLedgerId, "@RefID", supplyLedgerEntity.RefId, "@RefType", supplyLedgerEntity.RefType, "@RefNo", supplyLedgerEntity.RefNo, "@RefDate", supplyLedgerEntity.RefDate, "@PostedDate", supplyLedgerEntity.PostedDate, "@DepartmentID", supplyLedgerEntity.DepartmentId, "@InventoryItemID", supplyLedgerEntity.InventoryItemId, "@Unit", supplyLedgerEntity.Unit, "@UnitPrice", supplyLedgerEntity.UnitPrice, "@IncrementQuantity", supplyLedgerEntity.IncrementQuantity, "@DecrementQuantity", supplyLedgerEntity.DecrementQuantity, "@IncrementAmount", supplyLedgerEntity.IncrementAmount, "@DecrementAmount", supplyLedgerEntity.DecrementAmount, "@JournalMemo", supplyLedgerEntity.JournalMemo, "@Description", supplyLedgerEntity.Description, "@AccountNumber", supplyLedgerEntity.AccountNumber, "@RefDetailID", supplyLedgerEntity.RefDetailId }); }
public long InsertSupplyLedger(SupplyLedgerEntity supplyLedger) { const string sql = @"uspInsert_SupplyLedger"; return(Db.Insert(sql, true, Take(supplyLedger))); }
/// <summary> /// Updates the ba deposit. /// </summary> /// <param name="suTransferEntity">The su transfer entity.</param> /// <returns></returns> public SUTransferResponse UpdateSUTransfer(SUTransferEntity suTransferEntity) { var response = new SUTransferResponse { Acknowledge = AcknowledgeType.Success }; try { if (!suTransferEntity.Validate()) { foreach (var error in suTransferEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } using (var scope = new TransactionScope()) { var suTransfer = SUTransferDao.GetSUTransfer(suTransferEntity.RefNo.Trim(), suTransferEntity.PostedDate); if (suTransfer != null && suTransfer.PostedDate.Year == suTransferEntity.PostedDate.Year) { if (suTransfer.RefId != suTransferEntity.RefId) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Số chứng từ " + suTransferEntity.RefNo + @" đã tồn tại !"; return(response); } } response.Message = SUTransferDao.UpdateSUTransfer(suTransferEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Update account balance //Trừ đi số tiền của chứng từ cũ trước khi cộng thêm số tiền mới UpdateAccountBalance(suTransferEntity); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } #endregion #region Delete detail and insert detail // Xóa bảng SUTransferDetail response.Message = SUTransferDetailDao.DeleteSUTransferDetailByRefId(suTransferEntity.RefId); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } // Xóa bảng OriginalGeneralLedger response.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(suTransferEntity.RefId); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } // Xóa bảng SupplyLedger response.Message = SupplyLedgerDao.DeleteSupplyLedgerByRefId(suTransferEntity.RefId, suTransferEntity.RefType); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } if (suTransferEntity.SUTransferDetails != null) { foreach (var suTransferDetail in suTransferEntity.SUTransferDetails) { if (suTransferEntity.RefType == (int)BuCA.Enum.RefType.SUTransfer) { AutoMapper(GetUnitsInDepartment(suTransferDetail.InventoryItemId, suTransferDetail.FromDepartmentId, suTransferDetail.Quantity, suTransferDetail.Description), response); if (response.Acknowledge == AcknowledgeType.Failure) { return(response); } } suTransferDetail.RefDetailId = Guid.NewGuid().ToString(); suTransferDetail.RefId = suTransferEntity.RefId; response.Message = SUTransferDetailDao.InsertSUTransferDetail(suTransferDetail); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Insert into AccountBalance // Cộng thêm số tiền mới sau khi sửa chứng từ InsertAccountBalance(suTransferEntity, suTransferDetail); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = suTransferEntity.RefType, RefId = suTransferEntity.RefId, RefDetailId = suTransferDetail.RefDetailId, RefDate = suTransferEntity.RefDate, RefNo = suTransferEntity.RefNo, Amount = suTransferDetail.Amount, BudgetChapterCode = suTransferDetail.BudgetChapterCode, CreditAccount = suTransferDetail.CreditAccount, DebitAccount = suTransferDetail.DebitAccount, Description = suTransferDetail.Description, JournalMemo = suTransferEntity.JournalMemo, SortOrder = suTransferDetail.SortOrder, PostedDate = suTransferEntity.PostedDate, // Không có Currency trong db : mặc định VNĐ và 1 CurrencyCode = "VND", ExchangeRate = 1, }; response.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #endregion #region Insert SupplyLedger if (suTransferDetail.InventoryItemId != null) { var supplyLedgerEntity = new SupplyLedgerEntity { SupplyLedgerId = Guid.NewGuid().ToString(), RefId = suTransferEntity.RefId, RefType = suTransferEntity.RefType, RefNo = suTransferEntity.RefNo, RefDate = suTransferEntity.RefDate, PostedDate = suTransferEntity.PostedDate, DepartmentId = suTransferDetail.FromDepartmentId, InventoryItemId = suTransferDetail.InventoryItemId, Unit = suTransferDetail.Unit, UnitPrice = suTransferDetail.UnitPrice, IncrementQuantity = 0, DecrementQuantity = suTransferDetail.Quantity, IncrementAmount = 0, DecrementAmount = suTransferDetail.Amount, JournalMemo = suTransferEntity.JournalMemo, Description = suTransferDetail.Description, AccountNumber = suTransferDetail.DebitAccount, RefDetailId = suTransferDetail.RefDetailId }; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } //insert lan 2 supplyLedgerEntity.SupplyLedgerId = Guid.NewGuid().ToString(); supplyLedgerEntity.AccountNumber = suTransferDetail.CreditAccount; supplyLedgerEntity.DepartmentId = suTransferDetail.ToDepartmentId; supplyLedgerEntity.IncrementQuantity = suTransferDetail.Quantity; supplyLedgerEntity.DecrementQuantity = 0; supplyLedgerEntity.IncrementAmount = suTransferDetail.Amount; supplyLedgerEntity.DecrementAmount = 0; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } #endregion } } #endregion scope.Complete(); } response.RefId = suTransferEntity.RefId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
/// <summary> /// Inserts the ba deposit. /// </summary> /// <param name="sUIncrementDecrementEntity">The b a deposit entity.</param> /// <returns></returns> public SUIncrementDecrementResponse InsertSUIncrementDecrement(SUIncrementDecrementEntity sUIncrementDecrementEntity, bool isconvertDB) { var response = new SUIncrementDecrementResponse { Acknowledge = AcknowledgeType.Success }; try { if (!sUIncrementDecrementEntity.Validate()) { foreach (var error in sUIncrementDecrementEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } using (var scope = new TransactionScope()) { var sUIncrementDecrementByRefNo = SUIncrementDecrementDao.GetSUIncrementDecrementByRefNo(sUIncrementDecrementEntity.RefNo, sUIncrementDecrementEntity.PostedDate); if (sUIncrementDecrementByRefNo != null && sUIncrementDecrementByRefNo.PostedDate.Year == sUIncrementDecrementEntity.PostedDate.Year) { response.Acknowledge = AcknowledgeType.Failure; response.Message = "Mã chứng từ đã tồn tại!"; return(response); } sUIncrementDecrementEntity.RefId = Guid.NewGuid().ToString(); response.Message = SUIncrementDecrementDao.InsertSUIncrementDecrement(sUIncrementDecrementEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region insert SUIncrementDecrementDetails if (sUIncrementDecrementEntity.SUIncrementDecrementDetails != null) { foreach (var sUIncrementDecrementDetailEntity in sUIncrementDecrementEntity.SUIncrementDecrementDetails) { if (!isconvertDB)//AnhNT: Nếu không phải convert dữ liệu thì mới check số lượng tồn { if (sUIncrementDecrementEntity.RefType == (int)BuCA.Enum.RefType.SUDecrement) { AutoMapper( GetUnitsInDepartment(sUIncrementDecrementDetailEntity.InventoryItemId, sUIncrementDecrementDetailEntity.DepartmentId, sUIncrementDecrementDetailEntity.Quantity, sUIncrementDecrementDetailEntity.Description), response); if (response.Acknowledge == AcknowledgeType.Failure) { return(response); } } } sUIncrementDecrementDetailEntity.RefDetailId = Guid.NewGuid().ToString(); sUIncrementDecrementDetailEntity.RefId = sUIncrementDecrementEntity.RefId; response.Message = SUIncrementDecrementDetailDao.InsertSUIncrementDecrementDetail(sUIncrementDecrementDetailEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Insert to AccountBalance InsertAccountBalance(sUIncrementDecrementEntity, sUIncrementDecrementDetailEntity); #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = sUIncrementDecrementEntity.RefType, RefId = sUIncrementDecrementEntity.RefId, RefDetailId = sUIncrementDecrementDetailEntity.RefDetailId, RefDate = sUIncrementDecrementEntity.RefDate, RefNo = sUIncrementDecrementEntity.RefNo, Amount = sUIncrementDecrementDetailEntity.Amount, BudgetChapterCode = sUIncrementDecrementDetailEntity.BudgetChapterCode, CreditAccount = sUIncrementDecrementDetailEntity.CreditAccount, DebitAccount = sUIncrementDecrementDetailEntity.DebitAccount, Description = sUIncrementDecrementDetailEntity.Description, JournalMemo = sUIncrementDecrementEntity.JournalMemo, SortOrder = sUIncrementDecrementDetailEntity.SortOrder, PostedDate = sUIncrementDecrementEntity.PostedDate, // Không có Currency trong db : mặc định VNĐ và 1 CurrencyCode = "VND", ExchangeRate = 1, }; response.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #endregion if (sUIncrementDecrementEntity.RefType == 205 || sUIncrementDecrementEntity.RefType == 206) { #region Insert SupplyLedger if (sUIncrementDecrementDetailEntity.InventoryItemId != null) { var supplyLedgerEntity = new SupplyLedgerEntity { SupplyLedgerId = Guid.NewGuid().ToString(), RefId = sUIncrementDecrementEntity.RefId, RefType = sUIncrementDecrementEntity.RefType, RefNo = sUIncrementDecrementEntity.RefNo, RefDate = sUIncrementDecrementEntity.RefDate, PostedDate = sUIncrementDecrementEntity.PostedDate, DepartmentId = sUIncrementDecrementDetailEntity.DepartmentId, InventoryItemId = sUIncrementDecrementDetailEntity.InventoryItemId, Unit = null, UnitPrice = sUIncrementDecrementDetailEntity.UnitPrice, IncrementQuantity = sUIncrementDecrementEntity.RefType == 205 ? sUIncrementDecrementDetailEntity.Quantity : 0, DecrementQuantity = sUIncrementDecrementEntity.RefType == 205 ? 0 : sUIncrementDecrementDetailEntity.Quantity, IncrementAmount = sUIncrementDecrementEntity.RefType == 205 ? sUIncrementDecrementDetailEntity.Amount : 0, DecrementAmount = sUIncrementDecrementEntity.RefType == 205 ? 0 : sUIncrementDecrementDetailEntity.Amount, JournalMemo = sUIncrementDecrementEntity.JournalMemo, Description = sUIncrementDecrementDetailEntity.Description, AccountNumber = sUIncrementDecrementDetailEntity.DebitAccount, RefDetailId = sUIncrementDecrementDetailEntity.RefDetailId }; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } #endregion } } } #endregion scope.Complete(); } response.RefId = sUIncrementDecrementEntity.RefId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }