private static string GetFormatedText(EF6.InvtBatchTXF_Header target, string[] textField, string textFormatString)
 {
     for (int i = 0; i < textField.Length; i++)
     {
         PropertyInfo pi = target.GetType().GetProperty(textField[i]);
         textFormatString = textFormatString.Replace("{" + i.ToString() + "}", pi != null ? pi.GetValue(target, null).ToString() : string.Empty);
     }
     return(textFormatString);
 }
        /// <summary>
        /// Get a EF6.InvtBatchTXF_Header object from the database using the given HeaderId
        /// </summary>
        /// <param name="headerId">The primary key value</param>
        /// <returns>A EF6.InvtBatchTXF_Header object</returns>
        public static EF6.InvtBatchTXF_Header Get(Guid headerId)
        {
            EF6.InvtBatchTXF_Header result = null;

            using (var ctx = new EF6.RT2020Entities())
            {
                result = ctx.InvtBatchTXF_Header.Where(x => x.HeaderId == headerId).AsNoTracking().FirstOrDefault();
            }

            return(result);
        }
        /// <summary>
        /// Get a EF6.InvtBatchTXF_Header object from the database using the given QueryString
        /// </summary>
        /// <param name="headerId">The primary key value</param>
        /// <returns>A EF6.InvtBatchTXF_Header object</returns>
        public static EF6.InvtBatchTXF_Header Get(string whereClause)
        {
            EF6.InvtBatchTXF_Header result = null;

            using (var ctx = new EF6.RT2020Entities())
            {
                result = ctx.InvtBatchTXF_Header
                         .SqlQuery(string.Format("Select * from InvtBatchTXF_Header Where {0}", whereClause))
                         .AsNoTracking()
                         .FirstOrDefault();
            }

            return(result);
        }
Beispiel #4
0
        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);
        }