private Guid GetProductId(TxferTxtIEDetails detail) { string sql = "STKCODE = '" + detail.StockCode + "' AND APPENDIX1 = '" + detail.Appendix1 + "' AND APPENDIX2 = '" + detail.Appendix2 + "' AND APPENDIX3 = '" + detail.Appendix3 + "'"; var oItem = ProductEx.Get(sql); if (oItem != null) { return(oItem.ProductId); } else { return(System.Guid.Empty); } }
protected void FillDetails(DataTable detailTable, string headerId, ref MasterDetails mDetail) { DataRow[] rows = detailTable.Select("HeaderId = '" + headerId + "'"); mDetail.Details = new object[rows.Length]; for (int i = 0; i < rows.Length; i++) { DataRow row = rows[i]; TxferTxtIEDetails oDetail = new TxferTxtIEDetails(); oDetail.RecType = "DD"; oDetail.StockCode = row["STKCODE"].ToString(); oDetail.Appendix1 = row["APPENDIX1"].ToString(); oDetail.Appendix2 = row["APPENDIX2"].ToString(); oDetail.Appendix3 = row["APPENDIX3"].ToString(); oDetail.RequiredQty = Convert.ToInt32(((decimal)row["QtyRequested"]).ToString("n0")); oDetail.TxferQty = Convert.ToInt32(((decimal)row["QtyReceived"]).ToString("n0")); oDetail.Remarks = row["Remarks"].ToString(); mDetail.Details[i] = oDetail; } }
private int Import() { int result = 0; using (var ctx = new EF6.RT2020Entities()) { using (var scope = ctx.Database.BeginTransaction()) { try { for (int i = 0; i < md.Length; i++) { string txNumber = SystemInfoHelper.Settings.QueuingTxNumber(EnumHelper.TxType.TXF); #region Guid headerId = ImportTxferHeader(md[i].Master as TxferTxtIEMaster, txNumber); var master = md[i].Master as TxferTxtIEMaster; var oHeader = new EF6.InvtBatchTXF_Header(); oHeader.HeaderId = Guid.NewGuid(); oHeader.TxType = EnumHelper.TxType.TXF.ToString(); oHeader.TxNumber = txNumber; oHeader.TxDate = master.TxDate; oHeader.TransferredOn = master.TxferDate; oHeader.CompletedOn = master.CompletionDate; oHeader.FromLocation = WorkplaceEx.GetWorkplaceIdByCode(master.FromLocation); oHeader.ToLocation = WorkplaceEx.GetWorkplaceIdByCode(master.ToLocation); oHeader.StaffId = StaffEx.GetStaffIdByStaffNumber(master.Operator); oHeader.Status = Convert.ToInt32(EnumHelper.Status.Draft.ToString("d")); oHeader.Reference = master.RefNumber; oHeader.Remarks = master.Remarks; oHeader.CreatedBy = ConfigHelper.CurrentUserId; oHeader.CreatedOn = DateTime.Now; oHeader.ModifiedBy = ConfigHelper.CurrentUserId; oHeader.ModifiedOn = DateTime.Now; ctx.InvtBatchTXF_Header.Add(oHeader); ctx.SaveChanges(); Guid headerId = oHeader.HeaderId; #endregion if (headerId != Guid.Empty) { lvImportedList.Items[i].Text = txNumber; #region ImportTxferDetails(md[i].Details, headerId, txNumber); object[] details = md[i].Details; if (details != null) { for (int j = 0; j < details.Length; j++) { TxferTxtIEDetails detail = details[j] as TxferTxtIEDetails; Guid prodId = GetProductId(detail); if (prodId != Guid.Empty) { var oDetail = new EF6.InvtBatchTXF_Details(); oDetail.DetailsId = Guid.NewGuid(); oDetail.ProductId = prodId; oDetail.HeaderId = headerId; oDetail.LineNumber = j + 1; oDetail.TxNumber = txNumber; oDetail.TxType = EnumHelper.TxType.TXF.ToString(); oDetail.QtyConfirmed = 0; oDetail.QtyHHT = 0; oDetail.QtyManualInput = 0; oDetail.QtyReceived = detail.TxferQty; oDetail.QtyRequested = detail.RequiredQty; oDetail.Remarks = detail.Remarks; ctx.InvtBatchTXF_Details.Add(oDetail); ctx.SaveChanges(); result++; } } } #endregion result++; } } scope.Commit(); } catch (Exception ex) { scope.Rollback(); } } } return(result); }