Example #1
0
        public static PO_HEADER GetData(SAPbobsCOM.Company oCompany, int id)
        {
            Utils            control    = new Utils();
            List <PO_DETAIL> details    = new List <PO_DETAIL>();
            XDocument        xDoc       = new XDocument();
            XDocument        xDocDetail = new XDocument();

            string    sql = "select U_PrimaryNumberingPOS, U_DocumentNumberingPOS, docentry, docnum, CardCode, CardName, DocDate, DocDueDate, TaxDate from opor where docentry = " + id;
            Recordset rs  = control._IDU_Recordset(oCompany, sql);

            xDoc = XDocument.Parse(rs.GetAsXML());

            sql = "select t1.LineNum, ItemCode, dscription, UomEntry, UomCode, Quantity, Price, t2.WhsCode, t2.WhsName from por1 t1 " +
                  "join owhs t2 on t1.WhsCode = t2.WhsCode where t1.docentry = " + id;
            rs         = control._IDU_Recordset(oCompany, sql);
            xDocDetail = XDocument.Parse(rs.GetAsXML());

            XElement xEle       = xDoc.Element("BOM").Element("BO").Element("opor").Element("row");
            XElement xEleDetail = xDocDetail.Element("BOM").Element("BO").Element("por1");

            foreach (var item in xEleDetail.Elements("row"))
            {
                PO_DETAIL model_detail = new PO_DETAIL()
                {
                    LineNum       = Convert.ToInt32(item.Element("LineNum").Value),
                    ItemCode      = item.Element("ItemCode").Value,
                    Description   = item.Element("dscription").Value,
                    UomEntry      = Convert.ToInt32(item.Element("UomEntry").Value),
                    UomCode       = item.Element("UomCode").Value,
                    Quantity      = Convert.ToDouble(item.Element("Quantity").Value),
                    Price         = Convert.ToDouble(item.Element("Price").Value),
                    WarehouseCode = item.Element("WhsCode").Value,
                    WarehouseName = item.Element("WhsName").Value
                };

                details.Add(model_detail);
            }

            PO_HEADER model = new PO_HEADER()
            {
                PrimaryNumberingPOS  = xEle.Element("U_PrimaryNumberingPOS").Value,
                DocumentNumberingPOS = xEle.Element("U_DocumentNumberingPOS").Value,
                DocEntry             = xEle.Element("docentry").Value,
                DocNum       = xEle.Element("docnum").Value,
                CardCode     = xEle.Element("CardCode").Value,
                CardName     = xEle.Element("CardName").Value,
                DocumentDate = DateTime.ParseExact(xEle.Element("DocDate").Value, "yyyyMMdd",
                                                   CultureInfo.InvariantCulture, DateTimeStyles.None),
                DocDueDate = DateTime.ParseExact(xEle.Element("DocDueDate").Value, "yyyyMMdd",
                                                 CultureInfo.InvariantCulture, DateTimeStyles.None),
                TaxDate = DateTime.ParseExact(xEle.Element("TaxDate").Value, "yyyyMMdd",
                                              CultureInfo.InvariantCulture, DateTimeStyles.None),
                lines = details
            };

            return(model);
        }
Example #2
0
 private void MapToDetailRow(PODetailRow row, PO_DETAIL entity)
 {
     row.Company          = !string.IsNullOrEmpty(entity.CompanyCode) ? entity.CompanyCode : row.Company;
     row.PONUM            = entity.PONum;
     row.POLine           = entity.POLine;
     row.CalcTranType     = !string.IsNullOrEmpty(entity.CalcTranType) ? entity.CalcTranType : row.CalcTranType;
     row.PartNum          = entity.PartNum != null ? entity.PartNum : row.PartNum;
     row.QtyOption        = !string.IsNullOrEmpty(entity.QtyOption) ? entity.QtyOption : row.QtyOption;
     row.CalcVendQty      = entity.CalcVendQty;
     row.PUM              = !string.IsNullOrEmpty(entity.PUM) ? entity.PUM : row.PUM;
     row.DocUnitCost      = entity.DocUnitCost;
     row.DocScrUnitCost   = entity.DocScrUnitCost;
     row.CalcDueDate      = entity.CalcDueDate;
     row.Taxable          = entity.Taxable;
     row.RcvInspectionReq = entity.RcvInspectionReq;
 }