public IList <Podetail> Create_PoDetail(string pokey_mm, string pokey_infor)
        {
            IList <Podetail> poDetails = new List <Podetail>();
            string           sql       = string.Format("select * from MM_PO_DETAIL where Order_Number = '{0}' and STATUS='' and Warehouse_Number='90072'  order by Article_Number asc", pokey_mm);
            DataTable        dt        = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Podetail poDetail = new Podetail();
                    poDetail.pokey     = pokey_infor;
                    poDetail.storerkey = "N0528";
                    string sku = dt.Rows[i]["Article_Number"].ToString().Trim().TrimStart('0');
                    poDetail.sku        = sku;
                    poDetail.qtyordered = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    poDetail.whseid     = "wmwhse3";
                    poDetail.addwho     = "wmsadmin";
                    poDetail.editwho    = "wmsadmin";

                    poDetails.Add(poDetail);
                }
                catch (Exception e)
                {
                    string step = string.Format(Constant.MODEL_PODETAIL, "NORTH");
                    resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                    continue;
                }
            }
            return(poDetails);
        }
        public JArray Create_ModelAltSku(string sku)
        {
            JArray    altSkus = new JArray();
            string    sql     = string.Format("PR_MM_BARCODE_ARTICLES_INFORMATION '{0}' , '{1}' ", "SOUTH", sku);
            DataTable dt      = DAL.SELECT_SQL(sql);

            if (dt.Rows.Count > 0)
            {
                code = sku;
                sku  = sku.TrimStart('0');
                int count = DAL.IntReturn(dt.Rows.Count);
                for (int i = 0; i < count; i++)
                {
                    try
                    {
                        AltSku altSku = new AltSku();
                        altSku.altsku    = dt.Rows[i]["Barcode"].ToString();
                        altSku.storerkey = "OW9600";
                        altSku.sku       = sku;
                        string  output       = JsonConvert.SerializeObject(altSku);
                        JObject objectAltSku = JObject.Parse(output);
                        altSkus.Add(objectAltSku);
                    }
                    catch (Exception e)
                    {
                        string step = string.Format(Constant.MODEL_ALTSKU, "SOUTH");
                        resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                        continue;
                    }
                }
            }

            return(altSkus);
        }
Exemple #3
0
        public JObject Update_Model_South(string sku)
        {
            JObject pack = new JObject();

            try
            {
                PackInfor_Model_Update_South packModel = new PackInfor_Model_Update_South();
                string    sql         = string.Format("[PP_MM_UPDATE_PACK]'SOUTH','{0}'", sku);
                DataTable dt          = DAL.SELECT_SQL(sql);
                string    sku_current = sku.TrimStart('0');

                packModel.packkey = sku_current + "_MMSOUTH";
                int qtyPerPallet = DAL.IntReturn(dt.Rows[0]["PALLET_NEW"]);
                packModel.packdescr = sku_current + "_MMSOUTH";
                packModel.packuom1  = "CS";
                int qtyPerCase = DAL.IntReturn(dt.Rows[0]["Number_Mu_Carton"]);
                packModel.casecnt       = qtyPerCase.ToString();
                packModel.packuom3      = "MU";
                packModel.cartonizeuom3 = "N";
                packModel.pallet        = qtyPerPallet.ToString();



                int qtyInnerPack = DAL.IntReturn(dt.Rows[0]["INNERPACK_NEW"]);
                packModel.innerpack = qtyInnerPack.ToString();

                decimal carton_lenght1 = DAL.DecimalReturn(dt.Rows[0]["Carton_Length"]);
                decimal carton_width1  = DAL.DecimalReturn(dt.Rows[0]["Carton_Width"]);
                decimal carton_height1 = DAL.DecimalReturn(dt.Rows[0]["Carton_Height"]);
                packModel.lengthuom1 = carton_lenght1.ToString();
                packModel.widthuom1  = carton_width1.ToString();
                packModel.heightuom1 = carton_height1.ToString();


                decimal carton_lenght3 = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Length"]);
                decimal carton_width3  = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Width"]);
                decimal carton_height3 = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Height"]);
                packModel.lengthuom3 = carton_lenght3.ToString();
                packModel.widthuom3  = carton_width3.ToString();
                packModel.heightuom3 = carton_height3.ToString();

                packModel.whseid  = "wmwhse10";
                packModel.addwho  = "Admin";
                packModel.editwho = "Admin";
                string output = JsonConvert.SerializeObject(packModel);
                pack = JObject.Parse(output);
            }
            catch (Exception e)
            {
                string step = string.Format(Constant.MODEL_PACK, "SOUTH");
                resultMapping.Handle_Error_Mapping(sku, e.ToString(), step);
            }
            return(pack);
        }
Exemple #4
0
        public JObject Create_ModelPack(string sku)
        {
            JObject pack = new JObject();

            try
            {
                PackInfor_Model packModel = new PackInfor_Model();
                string          sql       = string.Format("[PR_MM_PACK_INFORMATION_NORTH]'{0}'", sku);
                DataTable       dt        = DAL.SELECT_SQL(sql);
                sku = sku.TrimStart('0');
                packModel.packkey = sku;
                int qtyPerPallet = DAL.IntReturn(dt.Rows[0]["Number_Mu_Pallet"]);
                packModel.pallet    = qtyPerPallet.ToString();
                packModel.packuom4  = "PL";
                packModel.packdescr = qtyPerPallet + " PC per pallet";
                packModel.packuom1  = "CS";

                int qtyInCnt        = DAL.IntReturn(dt.Rows[0]["Number_Mu_Carton"].ToString());
                int qtyPerLayer     = DAL.IntReturn(dt.Rows[0]["Number_Mu_Layer"].ToString());
                int casecntPerLayer = qtyPerLayer / qtyInCnt;

                packModel.palletti = casecntPerLayer.ToString();
                packModel.pallethi = dt.Rows[0]["Number_Layer_Pallet"].ToString();

                packModel.casecnt       = dt.Rows[0]["Number_Mu_Carton"].ToString();
                packModel.packuom3      = "MU";
                packModel.cartonizeuom3 = "N";

                decimal carton_lenght      = DAL.DecimalReturn(dt.Rows[0]["Carton_Length"]);
                decimal carton_width       = DAL.DecimalReturn(dt.Rows[0]["Carton_Width"]);
                decimal carton_height      = DAL.DecimalReturn(dt.Rows[0]["Carton_Height"]);
                decimal carton_grossWeight = DAL.DecimalReturn(dt.Rows[0]["Carton_GrossWeight"]);

                packModel.lengthuom1 = carton_lenght.ToString();
                packModel.widthuom1  = carton_width.ToString();
                packModel.heightuom1 = carton_height.ToString();
                packModel.weightuom1 = carton_grossWeight.ToString();

                packModel.ext_udf_str1 = dt.Rows[0]["susr1"].ToString();
                packModel.whseid       = "wmwhse3";
                packModel.addwho       = "Admin";
                packModel.editwho      = "Admin";
                string output = JsonConvert.SerializeObject(packModel);
                pack = JObject.Parse(output);
            }
            catch (Exception e)
            {
                string step = string.Format(Constant.MODEL_PACK, "NORTH");
                resultMapping.Handle_Error_Mapping(sku, e.ToString(), step);
            }
            return(pack);
        }
Exemple #5
0
        public JObject Create_ModelPack_South(string sku)
        {
            JObject pack = new JObject();

            try
            {
                PackInfor_Model_South packModel = new PackInfor_Model_South();
                string    sql = string.Format("select * from MM_Articles where Article_Number='{0}' and Warehouse_Number='90071'", sku);
                DataTable dt  = DAL.SELECT_SQL(sql);
                sku = sku.TrimStart('0');

                packModel.packkey = sku + "_MMSOUTH";
                int qtyPerPallet = DAL.IntReturn(dt.Rows[0]["Number_Mu_Pallet"]);
                packModel.packdescr = sku + "_MMSOUTH";
                packModel.packuom1  = "CS";
                int qtyPerCase = DAL.IntReturn(dt.Rows[0]["Number_Mu_Carton"]);
                packModel.casecnt       = qtyPerCase.ToString();
                packModel.packuom3      = "MU";
                packModel.cartonizeuom3 = "N";

                decimal carton_lenght1 = DAL.DecimalReturn(dt.Rows[0]["Carton_Length"]);
                decimal carton_width1  = DAL.DecimalReturn(dt.Rows[0]["Carton_Width"]);
                decimal carton_height1 = DAL.DecimalReturn(dt.Rows[0]["Carton_Height"]);
                packModel.lengthuom1 = carton_lenght1.ToString();
                packModel.widthuom1  = carton_width1.ToString();
                packModel.heightuom1 = carton_height1.ToString();


                decimal carton_lenght3 = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Length"]);
                decimal carton_width3  = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Width"]);
                decimal carton_height3 = DAL.DecimalReturn(dt.Rows[0]["Selling_Unit_Height"]);
                packModel.lengthuom3 = carton_lenght3.ToString();
                packModel.widthuom3  = carton_width3.ToString();
                packModel.heightuom3 = carton_height3.ToString();

                packModel.whseid  = "wmwhse10";
                packModel.addwho  = "Admin";
                packModel.editwho = "Admin";
                string output = JsonConvert.SerializeObject(packModel);
                pack = JObject.Parse(output);
            }
            catch (Exception e)
            {
                string step = string.Format(Constant.MODEL_PACK, "SOUTH");
                resultMapping.Handle_Error_Mapping(sku, e.ToString(), step);
            }
            return(pack);
        }
Exemple #6
0
        private ResultDatabase_Model CountLineSuccess_SO(string text, int count, string fileName)
        {
            int indicator = DAL.IntReturn(text.Substring(0, 1));
            ResultDatabase_Model result    = new ResultDatabase_Model();
            SOController_North   soControl = new SOController_North();

            result           = soControl.InsertDatabase(text, indicator, fileName);
            result.indicator = indicator;

            if (result.check == true)
            {
                count++;
                result.numberRowSuccess = count;
            }
            else
            {
                result.numberRowSuccess = count;
            }
            return(result);
        }
Exemple #7
0
        public IList <Orderdetail> Create_OrderDetail_Xdock(string orderkey_mm, string pokey_MM)
        {
            IList <Orderdetail> orderDetails = new List <Orderdetail>();
            string    sql = string.Format("select * from [V_MM_SO_XDOCK_DETAIL] where Order_Number = '{0}' and Sale_Order='{1}'", pokey_MM, orderkey_mm);
            DataTable dt  = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Orderdetail orderDetail = new Orderdetail();
                    string      sku         = dt.Rows[i]["Article_Number"].ToString().Trim().TrimStart('0');

                    orderDetail.orderkey              = orderkey_mm.TrimStart('0');
                    orderDetail.storerkey             = "N0528";
                    orderDetail.sku                   = sku;
                    orderDetail.openqty               = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.originalqty           = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.newallocationstrategy = "MM";
                    orderDetail.susr2                 = "";
                    orderDetail.lottable02            = "BBXD";
                    orderDetail.lottable03            = pokey_MM.TrimStart('0');
                    orderDetail.lottable10            = orderkey_mm.TrimStart('0');
                    orderDetail.whseid                = "wmwhse3";
                    orderDetail.addwho                = "wmsadmin";
                    orderDetail.editwho               = "wmsadmin";

                    orderDetails.Add(orderDetail);
                }
                catch (Exception e)
                {
                    string step = string.Format(Constant.MODEL_SODETAIL, "XDOCK_NORTH");
                    resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                    continue;
                }
            }
            return(orderDetails);
        }
        public IList <Orderdetail_South> Create_OrderDetail(string orderkey_mm, string orderkey_infor)
        {
            IList <Orderdetail_South> orderDetails = new List <Orderdetail_South>();
            string    sql = string.Format("select * from MM_ORDERS_DETAIL where Order_Number = '{0}' and STATUS='' and Warehouse_Number='90071' ", orderkey_mm);
            DataTable dt  = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Orderdetail_South orderDetail = new Orderdetail_South();
                    string            sku         = dt.Rows[i]["Article_Number"].ToString().Trim().TrimStart('0');

                    orderDetail.orderkey              = orderkey_infor;
                    orderDetail.storerkey             = "OW9600";
                    orderDetail.sku                   = sku;
                    orderDetail.uom                   = "MU";
                    orderDetail.openqty               = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.originalqty           = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.newallocationstrategy = "INPROCESS";
                    orderDetail.susr2                 = dt.Rows[i]["Article_Selling_Price"].ToString().Trim();
                    orderDetail.whseid                = "wmwhse10";
                    orderDetail.addwho                = "wmsadmin";
                    orderDetail.editwho               = "wmsadmin";

                    orderDetails.Add(orderDetail);
                }
                catch (Exception e)
                {
                    string step = string.Format(Constant.MODEL_SODETAIL, "CS_SOUTH");
                    resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                    continue;
                }
            }
            return(orderDetails);
        }
        public IList <Orderdetail_South> Create_OrderDetail_Return(string po_mm, string orderkey_infor)
        {
            IList <Orderdetail_South> orderDetails = new List <Orderdetail_South>();
            string    sql = string.Format("select * from V_MM_SO_RETURN_DETAIL_SOUTH where Order_Number = '{0}'", po_mm);
            DataTable dt  = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Orderdetail_South orderDetail = new Orderdetail_South();
                    orderDetail.orderkey  = orderkey_infor;
                    orderDetail.storerkey = "OW9600";
                    string sku = dt.Rows[i]["Article_Number"].ToString().Trim().TrimStart('0');
                    orderDetail.sku                   = sku;
                    orderDetail.uom                   = "MU";
                    orderDetail.openqty               = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.originalqty           = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    orderDetail.susr2                 = dt.Rows[i]["SUPPLIER"].ToString().Trim();
                    orderDetail.lottable10            = po_mm.TrimStart('0');
                    orderDetail.newallocationstrategy = "RTV";
                    orderDetail.whseid                = "wmwhse10";
                    orderDetail.addwho                = "wmsadmin";
                    orderDetail.editwho               = "wmsadmin";

                    orderDetails.Add(orderDetail);
                }
                catch (Exception e)
                {
                    string step = string.Format(Constant.MODEL_SODETAIL, "RETURN_SOUTH");
                    resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                    continue;
                }
            }
            return(orderDetails);
        }
Exemple #10
0
        public IList <Podetail> Create_PoDetail_South(string pokey_MM, string pokey_Infor)
        {
            IList <Podetail> poDetails = new List <Podetail>();
            string           sql       = string.Format("select * from MM_PO_DETAIL where Order_Number = '{0}' and STATUS=''", pokey_MM);
            DataTable        dt        = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                Podetail poDetail = new Podetail();
                poDetail.pokey      = pokey_Infor;
                poDetail.storerkey  = "ow9305";
                poDetail.sku        = dt.Rows[i]["Article_Number"].ToString();
                poDetail.qtyordered = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                poDetail.whseid     = "wmwhse7";
                poDetail.addwho     = "wmsadmin";
                poDetail.editwho    = "wmsadmin";

                poDetails.Add(poDetail);
            }
            return(poDetails);
        }
Exemple #11
0
        public JArray Create_ModelAltSku_South(string sku)
        {
            JArray    altSkus = new JArray();
            string    sql     = string.Format("Select * from MM_Barcode_Articles where Article_Number='{0}' and status=''", sku);
            DataTable dt      = DAL.SELECT_SQL(sql);

            if (dt.Rows.Count > 0)
            {
                int count = DAL.IntReturn(dt.Rows.Count);
                for (int i = 0; i < count; i++)
                {
                    AltSku altSku = new AltSku();
                    altSku.altsku    = dt.Rows[i]["Barcode"].ToString();
                    altSku.storerkey = "OW9600";
                    altSku.sku       = dt.Rows[i]["Article_Number"].ToString();
                    altSku.udf1      = dt.Rows[i]["Warehouse_Number"].ToString();
                    string  output       = JsonConvert.SerializeObject(altSku);
                    JObject objectAltSku = JObject.Parse(output);
                    altSkus.Add(objectAltSku);
                }
            }

            return(altSkus);
        }
Exemple #12
0
        public IList <Receiptdetail> Create_ReceiptDetail(string pokey_infor, string pokey_mm, string receiptkey)
        {
            IList <Receiptdetail> receiptdetails = new List <Receiptdetail>();
            string    sql = string.Format("select * from MM_PO_DETAIL where Order_Number = '{0}' and STATUS_ASN='' and Warehouse_Number='90071' ", pokey_mm);
            DataTable dt  = DAL.SELECT_SQL(sql);

            int count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Receiptdetail receiptdetail = new Receiptdetail();
                    receiptdetail.receiptkey = receiptkey;
                    receiptdetail.storerkey  = "OW9600";
                    string sku = dt.Rows[i]["Article_Number"].ToString().Trim().TrimStart('0');
                    receiptdetail.sku         = sku;
                    receiptdetail.qtyexpected = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                    receiptdetail.pokey       = pokey_infor;
                    receiptdetail.lottable10  = pokey_infor;
                    receiptdetail.toloc       = "RTV";
                    receiptdetail.toid        = "R" + pokey_infor;
                    receiptdetail.addwho      = "wmsadmin";
                    receiptdetail.editwho     = "wmsadmin";

                    receiptdetails.Add(receiptdetail);
                }
                catch (Exception e)
                {
                    string step = string.Format(Constant.MODEL_ASN_DETAIL, "SOUTH");
                    resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                    continue;
                }
            }
            return(receiptdetails);
        }
Exemple #13
0
        public IList <Orderdetail> Create_OrderDetail_South(string orderkey_MM, string orderkey_Infor)
        {
            IList <Orderdetail> orderDetails = new List <Orderdetail>();
            string    sql   = string.Format("select * from MM_ORDERS_DETAIL where Order_Number = '{0}' and STATUS='' and Warehouse_Number='090071'", orderkey_MM);
            DataTable dt    = DAL.SELECT_SQL(sql);
            int       count = DAL.IntReturn(dt.Rows.Count);

            for (int i = 0; i < count; i++)
            {
                Orderdetail orderDetail = new Orderdetail();
                orderDetail.orderkey              = orderkey_Infor;
                orderDetail.storerkey             = "ow9305";
                orderDetail.sku                   = dt.Rows[i]["Article_Number"].ToString();
                orderDetail.openqty               = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                orderDetail.originalqty           = DAL.IntReturn(dt.Rows[i]["Order_Quantity"]);
                orderDetail.newallocationstrategy = "N01";
                orderDetail.whseid                = "wmwhse3";
                orderDetail.addwho                = "wmsadmin";
                orderDetail.editwho               = "wmsadmin";

                orderDetails.Add(orderDetail);
            }
            return(orderDetails);
        }
Exemple #14
0
        public ResultDatabase_Model InsertDatabase(string text, int indicator, string fileName)
        {
            ResultDatabase_Model result = new ResultDatabase_Model();
            Response_ReadFile    error  = new Response_ReadFile();
            bool check = false;

            if (indicator == 1)
            {
                ClsMM_Orders_Header orderHeader = new ClsMM_Orders_Header();
                try
                {
                    orderHeader.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    orderHeader.Lsp_Identification = text.Substring(1, 4);

                    string orderNumber = text.Substring(5, 20);
                    orderHeader.Order_Number = orderNumber.Substring(3, 17);

                    orderHeader.Order_Type = text.Substring(25, 4);

                    string storeNumber = text.Substring(29, 10);
                    orderHeader.Store_Number = storeNumber.Substring(5, 5);

                    string deliveryDate = text.Substring(39, 8);
                    int    year         = DAL.IntReturn(deliveryDate.Substring(0, 4));
                    int    month        = DAL.IntReturn(deliveryDate.Substring(4, 2));
                    int    day          = DAL.IntReturn(deliveryDate.Substring(6, 2));
                    orderHeader.Plan_Delivery_Date = new DateTime(year, month, day);

                    string warehouse = text.Substring(47, 20);
                    orderHeader.Warehouse_Number = warehouse.Substring(15, 5);

                    string email = text.Substring(67, 20);
                    orderHeader.MM_Email_Number = email.Substring(15, 5);

                    string memoField = text.Substring(87, 255);
                    orderHeader.Memo_Field = memoField.Substring(0, 59);

                    string dateRecord = text.Substring(342, 8);
                    int    year1      = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month1     = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day1       = DAL.IntReturn(dateRecord.Substring(6, 2));
                    orderHeader.Date_Record = new DateTime(year1, month1, day1);

                    orderHeader.Action_Type = text.Substring(350, 1);

                    string commercial = text.Substring(351, 10);
                    orderHeader.Commercial_Supplier_Number = commercial.Substring(4, 5);

                    string dateToWarehouse = text.Substring(361, 8);
                    int    year2           = DAL.IntReturn(dateToWarehouse.Substring(0, 4));
                    int    month2          = DAL.IntReturn(dateToWarehouse.Substring(4, 2));
                    int    day2            = DAL.IntReturn(dateToWarehouse.Substring(6, 2));
                    orderHeader.Plan_Delivery_To_Warehouse = new DateTime(year2, month2, day2);

                    string orderDate = text.Substring(369, 8);
                    int    year3     = DAL.IntReturn(orderDate.Substring(0, 4));
                    int    month3    = DAL.IntReturn(orderDate.Substring(4, 2));
                    int    day3      = DAL.IntReturn(orderDate.Substring(6, 2));
                    orderHeader.Order_Date = new DateTime(year3, month3, day3);


                    orderHeader.Free_Text1 = text.Substring(377, 20);
                    orderHeader.Free_Text2 = text.Substring(397, 20);

                    orderHeader.Order_Logistic_Type   = DAL.IntReturn(text.Substring(417, 2));
                    orderHeader.Customer_Store_Number = DAL.IntReturn(text.Substring(419, 2));
                    orderHeader.Customer_Number       = text.Substring(421, 6);
                    orderHeader.FILENAME = fileName;
                    string    sql = string.Format("select * from MM_ORDERS_HEADER where Order_Number = '{0}'", orderHeader.Order_Number);
                    DataTable orderHeaderTable = DAL.SELECT_SQL(sql);
                    int       count            = DAL.IntReturn(orderHeaderTable.Rows.Count);
                    if (count > 0 && (orderHeader.Action_Type == "I" || orderHeader.Action_Type == "D"))
                    {
                        orderHeader.EDITDATE = DateTime.Now;
                        check = orderHeader.Update(fileName, text);
                        result.result(check, orderHeader.Action_Type, orderHeader.Order_Number);
                    }
                    else if (count == 0 && orderHeader.Action_Type == "I")
                    {
                        orderHeader.ADDDATE  = DateTime.Now;
                        orderHeader.EDITDATE = DateTime.Now;
                        check = orderHeader.Add(fileName, text);
                        result.result(check, orderHeader.Action_Type, orderHeader.Order_Number);
                    }
                    else
                    {
                        check = false;
                        result.result(check, orderHeader.Action_Type, orderHeader.Order_Number);
                    }
                }
                catch (Exception e)
                {
                    string category = "orderHeader";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, orderHeader.Action_Type, orderHeader.Order_Number);
                }
            }
            else if (indicator == 2)
            {
                ClsMM_Orders_Detail orderDetail = new ClsMM_Orders_Detail();
                try
                {
                    orderDetail.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    orderDetail.Lsp_Identification = text.Substring(1, 4);

                    string orderNumber = text.Substring(5, 20);
                    orderDetail.Order_Number = orderNumber.Substring(3, 17);

                    string storeNumber = text.Substring(63, 10);
                    orderDetail.Store_Number = storeNumber.Substring(5, 5);

                    string sku = text.Substring(91, 10);
                    orderDetail.Article_Number = sku.Substring(2, 8);


                    int quantity = DAL.IntReturn(text.Substring(101, 10));
                    orderDetail.Order_Quantity = DAL.DecimalReturn(DAL.ChangeValue(3, quantity));

                    string dateRecord = text.Substring(111, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    orderDetail.Date_Record = new DateTime(year, month, day);

                    orderDetail.Action_Code = text.Substring(119, 1);

                    string warehouse = text.Substring(120, 20);
                    orderDetail.Warehouse_Number = warehouse.Substring(15, 5);

                    orderDetail.Orderline_Fretext = text.Substring(140, 15);

                    string po = text.Substring(155, 20);
                    orderDetail.Purchase_Order = po.Substring(0, 12);

                    string email = text.Substring(175, 20);
                    orderDetail.MM_Mail_Number = email.Substring(0, 5);

                    string article = text.Substring(195, 10);
                    orderDetail.Buying_Article_Number = article.Substring(2, 8);

                    int price = DAL.IntReturn(text.Substring(205, 13));
                    orderDetail.Article_Selling_Price = DAL.DecimalReturn(DAL.ChangeValue(2, price));

                    orderDetail.FILENAME = fileName;

                    string    sql = string.Format("select * from MM_ORDERS_DETAIL where Order_Number = '{0}' and Article_Number='{1}'", orderDetail.Order_Number, orderDetail.Article_Number);
                    DataTable orderHeaderTable = DAL.SELECT_SQL(sql);
                    int       count            = DAL.IntReturn(orderHeaderTable.Rows.Count);
                    if (count > 0 && (orderDetail.Action_Code == "I" || orderDetail.Action_Code == "D"))
                    {
                        orderDetail.EDITDATE = DateTime.Now;
                        check = orderDetail.Update(fileName, text);
                        result.result(check, orderDetail.Action_Code, orderDetail.Order_Number);
                    }
                    else if (count == 0 && orderDetail.Action_Code == "I")
                    {
                        orderDetail.ADDDATE  = DateTime.Now;
                        orderDetail.EDITDATE = DateTime.Now;
                        check = orderDetail.Add(fileName, text);
                        result.result(check, orderDetail.Action_Code, orderDetail.Order_Number);
                    }
                    else
                    {
                        check = false;
                        result.result(check, orderDetail.Action_Code, orderDetail.Order_Number);
                    }
                }
                catch (Exception e)
                {
                    string category = "orderDetail";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, orderDetail.Action_Code, orderDetail.Order_Number);
                }
            }
            return(result);
        }
Exemple #15
0
        public ResultDatabase_Model InsertDatabase(string text, int indicator, string fileName)
        {
            bool check = false;
            ResultDatabase_Model result = new ResultDatabase_Model();
            Response_ReadFile    error  = new Response_ReadFile();

            if (indicator == 3)
            {
                Articles_Model article = new Articles_Model();
                try
                {
                    article.Table_Indicator = DAL.IntReturn(text.Substring(0, 1));
                    article.Action_Code     = text.Substring(1, 1);

                    article.Lsp_Identification = text.Substring(2, 4);

                    string sku = text.Substring(6, 20);
                    article.Article_Number = sku.Substring(12, 8);

                    string shipFrom = text.Substring(26, 20);
                    article.Supplier_Code = shipFrom.Substring(14, 6);

                    int buyingUnit = DAL.IntReturn(text.Substring(58, 7));
                    article.Buying_Unit = DAL.DecimalReturn(DAL.ChangeValue(3, buyingUnit));

                    article.Selling_Unit = DAL.IntReturn(text.Substring(65, 4));

                    string orderUnit = text.Substring(69, 4);
                    article.Ordering_Unit = orderUnit.Substring(1, 3);


                    article.Article_Type   = DAL.IntReturn(text.Substring(73, 1));
                    article.Article_Status = DAL.IntReturn(text.Substring(75, 1));
                    article.Buyer_User_Id  = text.Substring(93, 6);
                    article.Desc_Article   = text.Substring(99, 33).Replace("'", "\"");
                    article.Packing_Type   = text.Substring(132, 2);


                    article.Article_Related = DAL.IntReturn(text.Substring(134, 20));


                    article.EAN_Code = text.Substring(154, 14);

                    string supplierArticle = text.Substring(168, 14);
                    article.Supplier_Article_Number = supplierArticle.Substring(0, 8);


                    article.Article_Desc     = text.Substring(182, 33);
                    article.Number_Mu_Carton = DAL.IntReturn(text.Substring(215, 6));
                    article.Number_Mu_Layer  = DAL.IntReturn(text.Substring(221, 6));
                    article.Number_Mu_Pallet = DAL.IntReturn(text.Substring(227, 6));

                    int cartonLength = DAL.IntReturn(text.Substring(233, 8));
                    article.Carton_Length = DAL.DecimalReturn(DAL.ChangeValue(2, cartonLength));

                    int cartonGrossweight = DAL.IntReturn(text.Substring(241, 9));
                    article.Carton_GrossWeight = DAL.DecimalReturn(DAL.ChangeValue(2, cartonGrossweight));

                    int cartonNetweight = DAL.IntReturn(text.Substring(250, 9));
                    article.Carton_NetWeight = DAL.DecimalReturn(DAL.ChangeValue(2, cartonNetweight));


                    article.Warehouse_Number = text.Substring(259, 5);

                    string dateRecord = text.Substring(264, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    article.Date_Record             = new DateTime(year, month, day);
                    article.Logistic_Deposit_Type   = DAL.IntReturn(text.Substring(272, 1));
                    article.Logistic_Flow_Indicator = DAL.IntReturn(text.Substring(273, 2));
                    article.Ordering_Indicator      = DAL.IntReturn(text.Substring(275, 1));

                    article.Link_Logistic_Deposit = DAL.IntReturn(text.Substring(276, 20));

                    article.Expiry_Days = DAL.IntReturn(text.Substring(296, 3));
                    article.Expiry_Days_Checking_Indicator = DAL.IntReturn(text.Substring(299, 1));
                    article.Minimum_Expiry_Days            = DAL.IntReturn(text.Substring(300, 5));
                    article.Pallet_Indicator    = DAL.IntReturn(text.Substring(305, 1));
                    article.Number_Layer_Pallet = DAL.IntReturn(text.Substring(306, 2));
                    article.Number_Units_Inbox  = DAL.IntReturn(text.Substring(308, 5));

                    int grossVolumSelling = DAL.IntReturn(text.Substring(314, 15));
                    article.Gross_Volume = DAL.DecimalReturn(DAL.ChangeValue(3, grossVolumSelling));

                    article.Measure_Unit_GrossVolume = text.Substring(329, 3);
                    article.Packing_Type             = text.Substring(332, 2);

                    int cartonWidth = DAL.IntReturn(text.Substring(334, 8));
                    article.Carton_Width = DAL.DecimalReturn(DAL.ChangeValue(2, cartonWidth));

                    int cartonHeight = DAL.IntReturn(text.Substring(342, 8));
                    article.Carton_Height = DAL.DecimalReturn(DAL.ChangeValue(2, cartonHeight));


                    article.UOM_Carton_Size   = text.Substring(350, 3);
                    article.UOM_Carton_Weight = text.Substring(353, 3);

                    int cartonGrossVolume = DAL.IntReturn(text.Substring(356, 15));
                    article.Carton_Gross_Volume = DAL.DecimalReturn(DAL.ChangeValue(3, cartonGrossVolume));


                    article.UOM_Carton_Volume   = text.Substring(371, 3);
                    article.Selling_Unit_Length = DAL.IntReturn(text.Substring(374, 6));
                    article.Selling_Unit_Width  = DAL.IntReturn(text.Substring(380, 6));
                    article.Selling_Unit_Height = DAL.IntReturn(text.Substring(386, 6));
                    article.UOM_Selling_Size    = text.Substring(392, 3);



                    int grossweightSelling = DAL.IntReturn(text.Substring(395, 9));
                    article.Grossweight_Selling = DAL.DecimalReturn(DAL.ChangeValue(2, grossweightSelling));


                    int netwweightSelling = DAL.IntReturn(text.Substring(404, 9));
                    article.Netweight_Selling = DAL.DecimalReturn(DAL.ChangeValue(2, netwweightSelling));



                    article.UOM_Selling_Weight     = text.Substring(413, 3);
                    article.Article_Group_Number   = DAL.IntReturn(text.Substring(416, 3));;
                    article.Artice_Subgroup_Number = DAL.IntReturn(text.Substring(419, 3));
                    article.Excise_Tax_Indicator   = DAL.IntReturn(text.Substring(422, 1));

                    int exciseTaxAmount = DAL.IntReturn(text.Substring(423, 15));
                    article.Excise_Tax_Amount = DAL.DecimalReturn(DAL.ChangeValue(3, exciseTaxAmount));


                    article.High_Value_Indicator     = DAL.IntReturn(text.Substring(438, 1));
                    article.Storage_Temperature_Desc = text.Substring(439, 25);
                    article.Remark   = text.Substring(464, 33);
                    article.FILENAME = fileName;

                    string    sql      = string.Format("select * from MM_Articles where Article_Number='{0}'", article.Article_Number);
                    DataTable skuTable = DAL.SELECT_SQL(sql);
                    int       count    = DAL.IntReturn(skuTable.Rows.Count);

                    if (count > 0)
                    {
                        article.EditDate = DateTime.Now;

                        check = article.Update(fileName, text);
                        result.result(check, article.Article_Status.ToString(), article.Article_Number);
                    }
                    else if (count == 0)
                    {
                        article.EditDate = DateTime.Now;
                        article.AddDate  = DateTime.Now;
                        check            = article.Add(fileName, text);
                        result.result(check, article.Article_Status.ToString(), article.Article_Number);
                    }
                    else
                    {
                        check = false;
                        result.result(check, article.Article_Status.ToString(), article.Article_Number);
                    }
                }
                catch (Exception e)
                {
                    string category = "article";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, article.Article_Status.ToString(), article.Article_Number);
                }
            }
            else if (indicator == 4)
            {
                BarcodeArticles_Model barcodeArticle = new BarcodeArticles_Model();
                try
                {
                    barcodeArticle.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    barcodeArticle.Action_Code        = text.Substring(1, 1);
                    barcodeArticle.Lsp_Identification = text.Substring(2, 4);

                    string sku = text.Substring(6, 20);
                    barcodeArticle.Article_Number = sku.Substring(12, 8);

                    string barcode = text.Substring(26, 20);
                    barcodeArticle.Barcode = barcode.Substring(0, 14);

                    barcodeArticle.Warehouse_Number = text.Substring(56, 5);

                    string dateRecord = text.Substring(61, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    barcodeArticle.Date_Record = new DateTime(year, month, day);

                    barcodeArticle.Barcode_Sequence_Number = DAL.IntReturn(text.Substring(69, 3));
                    barcodeArticle.FILENAME = fileName;

                    string    sql         = string.Format("select * from MM_Barcode_Articles where Article_Number='{0}' and Barcode ='{1}'", barcodeArticle.Article_Number, barcodeArticle.Barcode);
                    DataTable altSkuTable = DAL.SELECT_SQL(sql);
                    int       count       = DAL.IntReturn(altSkuTable.Rows.Count);
                    if (count > 0)
                    {
                        barcodeArticle.Editdate = DateTime.Now;
                        check = barcodeArticle.Update(fileName, text);
                        result.result(check, "U", barcodeArticle.Article_Number);
                    }
                    else
                    {
                        barcodeArticle.AddDate  = DateTime.Now;
                        barcodeArticle.Editdate = DateTime.Now;
                        check = barcodeArticle.Add(fileName, text);
                        result.result(check, "I", barcodeArticle.Article_Number);
                    }
                }
                catch (Exception e)
                {
                    string category = "barcodeArticle";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, "", barcodeArticle.Article_Number);
                }
            }
            return(result);
        }
Exemple #16
0
        private void ConnectFTP()
        {
            txtInform1.AppendText("\r\n Start Connect SFTP .... \r\n");
            Response_SFTP  result_SFTP    = new Response_SFTP();
            SessionOptions sessionOptions = new SessionOptions
            {
                Protocol = Protocol.Sftp,
                HostName = "sftp01.mmvietnam.com",
                UserName = "******",
                SshHostKeyFingerprint = "ssh-ed25519 255 gbfFmqgr8jbd8lAQOxHTcVQmNCk5OlnD8MXGMerAttg=",
                SshPrivateKeyPath     = @"E:\Software\MMVN\lspgmdprod.ppk",
            };

            using (Session session = new Session())
            {
                try
                {
                    session.Open(sessionOptions);
                }
                catch (InvalidOperationException e)
                {
                    result_SFTP.Handle_Error_Sftp("Connect", e.Message.ToString());
                    txtInform1.AppendText("\r\n Connect SFTP Fail .... \r\n");
                    return;
                }


                const string        remotePath = Constant.PATH_GETFILE_SFTP;
                RemoteDirectoryInfo directory  = session.ListDirectory(remotePath);

                foreach (RemoteFileInfo fileInfo in directory.Files)
                {
                    if (!fileInfo.IsDirectory && fileInfo.Name.EndsWith(".DAT", StringComparison.OrdinalIgnoreCase))
                    {
                        string tempPath   = Path.GetTempFileName();
                        var    sourcePath = RemotePath.EscapeFileMask(remotePath + "/" + fileInfo.Name);
                        string targerPath = Constant.PATH_MOVEFILE_SFTP;
                        string errorPath  = Constant.PATH_MOVEFILE_ERROR_SFTP;
                        string fileName   = fileInfo.Name;
                        string category   = fileName.Substring(9, 2).ToUpper();
                        string backupPath = string.Format(Constant.PATH_BACKUP, fileName);
                        try
                        {
                            session.GetFiles(sourcePath, backupPath).Check();
                            session.GetFiles(sourcePath, tempPath).Check();
                        }
                        catch (Exception e)
                        {
                            result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                        }


                        string[] lines           = File.ReadAllLines(tempPath);
                        int      numberRow       = lines.Count();
                        int      countRowSuccess = 0;

                        ResultDatabase_Model result = new ResultDatabase_Model();
                        if (category == "MD")
                        {
                            this.Show_Message_Start(fileName);

                            foreach (string text in lines)
                            {
                                try
                                {
                                    int indicator = DAL.IntReturn(text.Substring(0, 1));
                                }
                                catch (Exception e)
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                                result          = CountLineSuccess_MasterData(text, countRowSuccess, fileName);
                                countRowSuccess = result.numberRowSuccess;
                            }
                            if (numberRow == countRowSuccess)
                            {
                                this.Show_Message_Success(fileName);

                                targerPath = string.Format(targerPath, fileName);
                                try
                                {
                                    session.MoveFile(sourcePath, targerPath);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                            else
                            {
                                try
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    this.Show_Message_Error(fileName, countRowSuccess);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                        }
                        else if (category == "PO")
                        {
                            this.Show_Message_Start(fileName);

                            foreach (string text in lines)
                            {
                                try
                                {
                                    int indicator = DAL.IntReturn(text.Substring(0, 1));
                                }
                                catch (Exception e)
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }

                                result = CountLineSuccess_PO(text, countRowSuccess, fileName);

                                countRowSuccess = result.numberRowSuccess;
                            }
                            if (numberRow == countRowSuccess)
                            {
                                this.Show_Message_Success(fileName);

                                targerPath = string.Format(targerPath, fileName);
                                try
                                {
                                    session.MoveFile(sourcePath, targerPath);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                            else
                            {
                                try
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    this.Show_Message_Error(fileName, countRowSuccess);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                        }
                        else if (category == "SO")
                        {
                            this.Show_Message_Start(fileName);

                            foreach (string text in lines)
                            {
                                try
                                {
                                    int indicator = DAL.IntReturn(text.Substring(0, 1));
                                }
                                catch (Exception e)
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                                result          = CountLineSuccess_SO(text, countRowSuccess, fileName);
                                countRowSuccess = result.numberRowSuccess;
                            }
                            if (numberRow == countRowSuccess)
                            {
                                this.Show_Message_Success(fileName);
                                targerPath = string.Format(targerPath, fileName);
                                try
                                {
                                    session.MoveFile(sourcePath, targerPath);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                            else
                            {
                                try
                                {
                                    errorPath = string.Format(errorPath, fileName);
                                    session.MoveFile(sourcePath, errorPath);
                                    this.Show_Message_Error(fileName, countRowSuccess);
                                }
                                catch (Exception e)
                                {
                                    result_SFTP.Handle_Error_Sftp(fileName, e.Message.ToString());
                                    continue;
                                }
                            }
                        }
                    }
                }


                session.Close();
            }
        }
        public JArray Create_ModelSku()
        {
            JArray    items = new JArray();
            string    sql   = string.Format("exec PR_MM_ARTICLES_INFORMATION '{0}'", "SOUTH");
            DataTable dt    = DAL.SELECT_SQL(sql);

            if (dt.Rows.Count > 0)
            {
                int count = dt.Rows.Count;
                for (int i = 0; i < count; i++)
                {
                    try
                    {
                        SkuInfor_Model_South item = new SkuInfor_Model_South();
                        item.storerkey = "OW9600";
                        string sku = dt.Rows[i]["Article_Number"].ToString().Trim();
                        code = dt.Rows[i]["Article_Number"].ToString().Trim();
                        sku  = sku.TrimStart('0');

                        int     qtyPerCase         = DAL.IntReturn(dt.Rows[0]["Number_Mu_Carton"]);
                        decimal carton_grossWeight = DAL.DecimalReturn(dt.Rows[i]["Carton_GrossWeight"]);
                        decimal carton_netWeight   = DAL.DecimalReturn(dt.Rows[i]["Carton_NetWeight"]);
                        decimal carton_cube        = DAL.DecimalReturn(dt.Rows[i]["Carton_Gross_Volume"]);
                        decimal carton_length      = DAL.DecimalReturn(dt.Rows[i]["Carton_Length"]);
                        decimal carton_width       = DAL.DecimalReturn(dt.Rows[i]["Carton_Width"]);
                        decimal carton_height      = DAL.DecimalReturn(dt.Rows[i]["Carton_Height"]);
                        decimal grossWeight        = (carton_grossWeight / qtyPerCase);
                        grossWeight = Math.Round(grossWeight, 5);
                        decimal netWeight      = grossWeight;
                        decimal cube_cm3       = ((carton_length * carton_width * carton_height) / qtyPerCase);
                        decimal tareWeight_cm3 = grossWeight - netWeight;
                        item.sku                  = sku;
                        item.descr                = dt.Rows[i]["Desc_Article"].ToString().Trim().Replace("'", "\"");
                        item.addwho               = "addmin";
                        item.editwho              = "admin";
                        item.sourceversion        = "0";
                        item.susr1                = dt.Rows[i]["susr1"].ToString().Trim().TrimStart('0');
                        item.susr2                = dt.Rows[i]["susr2"].ToString().Trim();
                        item.susr3                = dt.Rows[i]["susr3"].ToString().Trim();
                        item.susr4                = dt.Rows[i]["susr4"].ToString().Trim();
                        item.susr5                = dt.Rows[i]["susr5"].ToString().Trim();
                        item.susr6                = dt.Rows[i]["susr6"].ToString().Trim();
                        item.susr7                = dt.Rows[i]["susr7"].ToString().Trim();
                        item.susr8                = dt.Rows[i]["susr8"].ToString().Trim();
                        item.susr9                = dt.Rows[i]["susr9"].ToString().Trim();
                        item.susr10               = dt.Rows[i]["susr10"].ToString().Trim();
                        item.packkey              = sku + "_MMSOUTH";
                        item.rfdefaultpack        = sku + "_MMSOUTH";
                        item.itemcharacteristic1  = dt.Rows[i]["Article_Group1"].ToString().Trim(); //dt.Rows[i]["Article_Group_Number"].ToString().Trim();
                        item.itemcharacteristic2  = dt.Rows[i]["Article_Group2"].ToString().Trim(); //dt.Rows[i]["Artice_Subgroup_Number"].ToString().Trim();
                        item.stdgrosswgt          = grossWeight.ToString();
                        item.stdnetwgt            = netWeight.ToString();
                        item.stdcube              = cube_cm3.ToString();
                        item.tare                 = tareWeight_cm3.ToString();
                        item.onreceiptcopypackkey = "0";
                        item.rotateby             = "Lot";
                        string logisticFlow = dt.Rows[i]["Logistic_Flow_Indicator"].ToString().Trim();


                        if (logisticFlow == "19")
                        {
                            item.shelflifeindicator    = "Y";
                            item.toexpiredays          = dt.Rows[i]["Expiry_Days"].ToString().Trim();
                            item.lottablevalidationkey = "MMSOUTH";
                            item.flowthruitem          = "Y";
                            item.cartonizeft           = "1";
                            item.groupfteach           = "1";
                        }
                        else
                        {
                            item.shelflifeindicator = "N";
                            item.toexpiredays       = "0";
                            #region

                            /*nếu shelflifeindicator là N thì phải để shelflife= 0 , nếu không
                             * sẽ báo lỗi localizedMessage internal server*/
                            #endregion
                            item.shelflife             = "0";
                            item.lottablevalidationkey = "MMSOUTH";
                            item.flowthruitem          = "Y";
                            item.cartonizeft           = "1"; // item.cartonizeft = "1";
                            item.groupfteach           = "1";
                        }

                        item.odeweight    = "1";
                        item.rfdefaultuom = "MU";

                        item.putawaystrategykey    = "STD";
                        item.newallocationstrategy = "CS";//CS

                        item.barcodeconfigkey  = "";
                        item.collection        = "";
                        item.shelflifecodetype = "E"; // M -manufacturing E- expriation
                        item.lottable01label   = "Lottable01";
                        item.lottable02label   = "Lottable02";
                        item.lottable03label   = "Lottable03";
                        item.lottable04label   = "Manufacturing Date";
                        item.lottable05label   = "Expiration Date";
                        item.lottable06label   = "Lottable06";
                        item.lottable07label   = "Lottable07";
                        item.lottable08label   = "Lottable08";
                        item.lottable09label   = "ASN";
                        item.lottable10label   = "PO";
                        item.snumlength        = "0";
                        item.snumincrlength    = "0";
                        item.allowmultilotlpn  = "1";

                        string output = JsonConvert.SerializeObject(item);

                        JObject objectitem = JObject.Parse(output);
                        items.Add(objectitem);
                    }
                    catch (Exception e)
                    {
                        string step = string.Format(Constant.MODEL_SKU, "SOUTH");
                        resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                        continue;
                    }
                }
            }
            return(items);
        }
Exemple #18
0
        public ResultDatabase_Model InsertDatabase(string text, int indicator, string fileName)
        {
            ResultDatabase_Model result = new ResultDatabase_Model();
            Response_ReadFile    error  = new Response_ReadFile();
            bool check = false;

            if (indicator == 1)
            {
                MM_PO_Header poHeader = new MM_PO_Header();
                try
                {
                    poHeader.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    poHeader.Lsp_Identification = text.Substring(1, 4);

                    string orderNumber = text.Substring(5, 20);
                    poHeader.Order_Number = orderNumber.Substring(3, 17);

                    poHeader.Order_Type = text.Substring(25, 4);

                    string supplier = text.Substring(29, 10);
                    poHeader.Supplier_Number = supplier.Substring(4, 6);

                    string deliveryDate = text.Substring(39, 8);
                    int    year         = DAL.IntReturn(deliveryDate.Substring(0, 4));
                    int    month        = DAL.IntReturn(deliveryDate.Substring(4, 2));
                    int    day          = DAL.IntReturn(deliveryDate.Substring(6, 2));
                    poHeader.Plan_Delivery_Date = new DateTime(year, month, day);

                    string warehouse = text.Substring(47, 20);
                    poHeader.Warehouse_Number = warehouse.Substring(15, 5);

                    string email = text.Substring(67, 20);
                    poHeader.MM_Email_Number = email.Substring(0, 5);

                    poHeader.Memo_Field = text.Substring(87, 255);

                    string dateRecord = text.Substring(342, 8);
                    int    year1      = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month1     = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day1       = DAL.IntReturn(dateRecord.Substring(6, 2));
                    poHeader.Date_Record = new DateTime(year1, month1, day1);

                    poHeader.Action_Type = text.Substring(350, 1);

                    string commercialSupplier = text.Substring(351, 10);
                    poHeader.Commercial_Supplier_Number = commercialSupplier.Substring(3, 6);

                    string orderDate = text.Substring(361, 8);
                    int    year3     = DAL.IntReturn(orderDate.Substring(0, 4));
                    int    month3    = DAL.IntReturn(orderDate.Substring(4, 2));
                    int    day3      = DAL.IntReturn(orderDate.Substring(6, 2));
                    poHeader.Order_Date = new DateTime(year3, month3, day3);

                    poHeader.Free_Text1 = text.Substring(369, 20);
                    poHeader.Free_Text2 = text.Substring(389, 20);
                    poHeader.FILENAME   = fileName;

                    string    sql   = string.Format("select * from MM_PO_HEADER where Order_Number = '{0}'", poHeader.Order_Number);
                    DataTable dt    = DAL.SELECT_SQL(sql);
                    int       count = DAL.IntReturn(dt.Rows.Count);

                    if (count == 0)
                    {
                        poHeader.ADDDATE  = DateTime.Now;
                        poHeader.EDITDATE = DateTime.Now;
                        check             = poHeader.Add(fileName, text);
                        result.result(check, poHeader.Action_Type, poHeader.Order_Number);
                    }
                    else
                    {
                        poHeader.EDITDATE = DateTime.Now;
                        check             = poHeader.Update(fileName, text);
                        result.result(check, poHeader.Action_Type, poHeader.Order_Number);
                    }
                }
                catch (Exception e)
                {
                    string Category = "poHeader";
                    error.HandleError(fileName, text, e.Message.ToString(), Category);
                    check = false;
                    result.result(check, poHeader.Action_Type, poHeader.Order_Number);
                }
            }
            else if (indicator == 2)
            {
                MM_PO_Detail poDetail = new MM_PO_Detail();
                try
                {
                    poDetail.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    poDetail.Lsp_Identification = text.Substring(1, 4);

                    string orderNumber = text.Substring(5, 20);
                    poDetail.Order_Number = orderNumber.Substring(3, 17);

                    string sku = text.Substring(81, 10);
                    poDetail.Article_Number = sku.Substring(2, 8);

                    int qty = DAL.IntReturn(text.Substring(91, 10));
                    poDetail.Order_Quantity = DAL.DecimalReturn(DAL.ChangeValue(3, qty));

                    string dateRecord = text.Substring(101, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    poDetail.Date_Record = new DateTime(year, month, day);

                    poDetail.Action_Type = text.Substring(109, 1);
                    string warehouse = text.Substring(110, 20);
                    poDetail.Warehouse_Number = warehouse.Substring(15, 5);
                    poDetail.Orderline        = text.Substring(130, 20);
                    string email = text.Substring(150, 20);
                    poDetail.MM_Email_Number = email.Substring(0, 5);

                    poDetail.FILENAME = fileName;
                    string    sql = string.Format("select * from MM_PO_DETAIL where Order_Number = '{0}' and Article_Number= '{1}'", poDetail.Order_Number, poDetail.Article_Number);
                    DataTable supplierHeaderTable = DAL.SELECT_SQL(sql);
                    int       count = DAL.IntReturn(supplierHeaderTable.Rows.Count);

                    if (count == 0)
                    {
                        poDetail.ADDDATE  = DateTime.Now;
                        poDetail.EDITDATE = DateTime.Now;
                        check             = poDetail.Add(fileName, text);
                        result.result(check, poDetail.Action_Type, poDetail.Order_Number);
                    }
                    else
                    {
                        poDetail.EDITDATE = DateTime.Now;
                        check             = poDetail.Update(fileName, text);
                        result.result(check, poDetail.Action_Type, poDetail.Order_Number);
                    }
                }
                catch (Exception e)
                {
                    string Category = "poDetail";
                    error.HandleError(fileName, text, e.Message.ToString(), Category);
                    check = false;
                    result.result(check, poDetail.Action_Type, poDetail.Order_Number);
                }
            }
            else if (indicator == 3)
            {
                MM_PO_Detail_XD poDetailXd = new MM_PO_Detail_XD();
                try
                {
                    poDetailXd.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    poDetailXd.Lsp_Identification = text.Substring(1, 4);

                    string orderNumber = text.Substring(5, 20);
                    poDetailXd.Order_Number = orderNumber.Substring(3, 17);

                    string sku = text.Substring(63, 10);
                    poDetailXd.Article_Number = sku.Substring(2, 8);

                    string storeNumber = text.Substring(73, 10);
                    poDetailXd.Store_Number = storeNumber.Substring(8, 2);

                    int qty = DAL.IntReturn(text.Substring(83, 10));
                    poDetailXd.Order_Quantity = DAL.DecimalReturn(DAL.ChangeValue(3, qty));

                    string warehouse = text.Substring(93, 20);
                    poDetailXd.Warehouse_Number = warehouse.Substring(15, 5);

                    string saleOrder = text.Substring(121, 20);
                    poDetailXd.Sale_Order = saleOrder.Substring(3, 17);


                    string mail = text.Substring(141, 20);
                    poDetailXd.Metro_Mail = mail.Substring(0, 5);

                    string articleNumber = text.Substring(161, 10);
                    poDetailXd.Buying_Article_Number = articleNumber.Substring(0, 7);

                    poDetailXd.FILENAME = fileName;
                    string    sql = string.Format("select * from MM_PO_DETAIL_XD where Order_Number = '{0}' and Sale_Order='{1}' and Article_Number='{2}'", poDetailXd.Order_Number, poDetailXd.Sale_Order, poDetailXd.Article_Number);
                    DataTable supplierHeaderTable = DAL.SELECT_SQL(sql);
                    int       count = DAL.IntReturn(supplierHeaderTable.Rows.Count);

                    if (count == 0)
                    {
                        poDetailXd.ADDDATE  = DateTime.Now;
                        poDetailXd.EDITDATE = DateTime.Now;
                        check = poDetailXd.Add(fileName, text);
                        result.result(check, "", poDetailXd.Order_Number);
                    }
                    else
                    {
                        poDetailXd.EDITDATE = DateTime.Now;
                        check = poDetailXd.Update(fileName, text);
                        result.result(check, "", poDetailXd.Order_Number);
                    }
                }
                catch (Exception e)
                {
                    string Category = "poDetailXd";
                    error.HandleError(fileName, text, e.Message.ToString(), Category);
                    check = false;
                    result.result(check, "", poDetailXd.Order_Number);
                }
            }
            return(result);
        }
Exemple #19
0
        public ResultDatabase_Model InsertDatabase(string text, int indicator, string fileName)
        {
            ResultDatabase_Model result = new ResultDatabase_Model();
            Response_ReadFile    error  = new Response_ReadFile();
            bool check = false;

            if (indicator == 1)
            {
                Supplier_Header_Model supplierHeader = new Supplier_Header_Model();
                try
                {
                    supplierHeader.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    supplierHeader.Action_Code        = text.Substring(1, 1);
                    supplierHeader.Lsp_Identification = text.Substring(2, 4).ToString();

                    string supplierCode = text.Substring(6, 20);
                    supplierHeader.Supplier_Code = supplierCode.Substring(14, 6).ToString();

                    supplierHeader.Supplier_Name          = text.Substring(26, 35).Replace("'", "\"");
                    supplierHeader.Supplier_Status        = DAL.IntReturn(text.Substring(61, 2));
                    supplierHeader.Supplier_Type          = DAL.IntReturn(text.Substring(63, 2));
                    supplierHeader.Buyer_User_Id          = text.Substring(65, 6);
                    supplierHeader.Supplier_Fiscal_Number = text.Substring(71, 15);
                    supplierHeader.Way_Of_Order           = DAL.IntReturn(text.Substring(86, 1));
                    supplierHeader.Language_Code          = text.Substring(87, 2);
                    supplierHeader.Currency_Code          = text.Substring(89, 3);

                    //string warehouse= text.Substring(92, 5);
                    supplierHeader.Warehouse_Number = text.Substring(92, 5);

                    string dateRecord = text.Substring(97, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    supplierHeader.Date_Record                  = new DateTime(year, month, day);
                    supplierHeader.Default_Logistic_Flow        = int.Parse(text.Substring(105, 2));
                    supplierHeader.Supplier_Registration_Number = text.Substring(107, 15);
                    supplierHeader.FILENAME = fileName;


                    string    sql = string.Format("select * from MM_Supplier_Header where Supplier_Code = '{0}' and Warehouse_Number='{1}' ", supplierHeader.Supplier_Code, supplierHeader.Warehouse_Number);
                    DataTable supplierHeaderTable = DAL.SELECT_SQL(sql);
                    int       count = DAL.IntReturn(supplierHeaderTable.Rows.Count);
                    if (count > 0 && supplierHeader.Supplier_Status == 1)
                    {
                        supplierHeader.EditDate = DateTime.Now;
                        check = supplierHeader.Update(fileName, text);
                        result.result(check, supplierHeader.Supplier_Status.ToString(), supplierHeader.Supplier_Code);
                    }
                    else if (count > 0 && (supplierHeader.Supplier_Status == 5 || supplierHeader.Supplier_Status == 9))
                    {
                        supplierHeader.EditDate = DateTime.Now;
                        check = supplierHeader.Update(fileName, text);
                        result.result(check, supplierHeader.Supplier_Status.ToString(), supplierHeader.Supplier_Code);
                    }
                    else if (count == 0 && supplierHeader.Supplier_Status == 1)
                    {
                        supplierHeader.AddDate  = DateTime.Now;
                        supplierHeader.EditDate = DateTime.Now;
                        check = supplierHeader.Add(fileName, text);
                        result.result(check, supplierHeader.Supplier_Status.ToString(), supplierHeader.Supplier_Code);
                    }
                    else
                    {
                        check = false;
                        result.result(check, supplierHeader.Supplier_Status.ToString(), supplierHeader.Supplier_Code);
                    }
                }
                catch (Exception e)
                {
                    string category = "supplierHeader";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, supplierHeader.Supplier_Status.ToString(), supplierHeader.Supplier_Code);
                }
            }
            else if (indicator == 2)
            {
                Supplier_Detail_Model supplierDetail = new Supplier_Detail_Model();
                try
                {
                    supplierDetail.Table_Indicator    = DAL.IntReturn(text.Substring(0, 1));
                    supplierDetail.Action_Code        = text.Substring(1, 1);
                    supplierDetail.Lsp_Identification = text.Substring(2, 4);

                    string supplierCode = text.Substring(6, 20);
                    supplierDetail.Supplier_Code = supplierCode.Substring(14, 6).ToString();

                    supplierDetail.Address_Indicator = DAL.IntReturn(text.Substring(26, 2));
                    supplierDetail.Contact_Person    = text.Substring(28, 35);
                    supplierDetail.Building          = text.Substring(63, 28);
                    supplierDetail.Town                     = text.Substring(119, 25);
                    supplierDetail.Phone                    = text.Substring(144, 15);
                    supplierDetail.Fax_Number               = text.Substring(159, 18);
                    supplierDetail.Postal_Code              = text.Substring(176, 11);
                    supplierDetail.DC_Phone_Number          = text.Substring(188, 15);
                    supplierDetail.Origin                   = text.Substring(221, 4);
                    supplierDetail.Supplier_Repressentative = text.Substring(225, 35);


                    supplierDetail.Warehouse_Number = text.Substring(260, 5).ToString();

                    string dateRecord = text.Substring(265, 8);
                    int    year       = DAL.IntReturn(dateRecord.Substring(0, 4));
                    int    month      = DAL.IntReturn(dateRecord.Substring(4, 2));
                    int    day        = DAL.IntReturn(dateRecord.Substring(6, 2));
                    supplierDetail.Date_Record   = new DateTime(year, month, day);
                    supplierDetail.Email_Address = text.Substring(273, 100);
                    supplierDetail.FILENAME      = fileName;

                    string    sql = string.Format("select * from MM_Supplier_Detail where Supplier_Code = '{0}' and Warehouse_Number='{1}' ", supplierDetail.Supplier_Code, supplierDetail.Warehouse_Number);
                    DataTable supplierDetailTable = DAL.SELECT_SQL(sql);
                    int       count = DAL.IntReturn(supplierDetailTable.Rows.Count);
                    if (count > 0)
                    {
                        supplierDetail.Editdate = DateTime.Now;
                        check = supplierDetail.Update(fileName, text);
                        result.result(check, "U", supplierDetail.Supplier_Code);
                    }
                    else if (count == 0)
                    {
                        supplierDetail.AddDate  = DateTime.Now;
                        supplierDetail.Editdate = DateTime.Now;
                        check = supplierDetail.Add(fileName, text);
                        result.result(check, "I", supplierDetail.Supplier_Code);
                    }
                }
                catch (Exception e)
                {
                    string category = "supplierDetail";
                    error.HandleError(fileName, text, e.Message.ToString(), category);
                    check = false;
                    result.result(check, "", supplierDetail.Supplier_Code);
                }
            }
            return(result);
        }
        public JArray Update_ModelSku()
        {
            JArray    items = new JArray();
            string    sql   = string.Format("exec [PP_MM_UPDATE_ARTICLES] '{0}'", "SOUTH");
            DataTable dt    = DAL.SELECT_SQL(sql);

            if (dt.Rows.Count > 0)
            {
                int count = dt.Rows.Count;
                for (int i = 0; i < count; i++)
                {
                    try
                    {
                        SkuInfor_Model_Update_South item = new SkuInfor_Model_Update_South();
                        item.storerkey = "OW9600";
                        string sku = dt.Rows[i]["Article_Number"].ToString().Trim();
                        code = dt.Rows[i]["Article_Number"].ToString().Trim();
                        sku  = sku.TrimStart('0');

                        int qtyPerCase = DAL.IntReturn(dt.Rows[0]["Number_Mu_Carton"]);
                        // decimal carton_grossWeight = DAL.DecimalReturn(dt.Rows[i]["Carton_GrossWeight"]);
                        // decimal carton_netWeight = DAL.DecimalReturn(dt.Rows[i]["Carton_NetWeight"]);
                        // decimal grossWeight = (carton_grossWeight / qtyPerCase);
                        //grossWeight = Math.Round(grossWeight, 5);
                        //decimal netWeight = grossWeight;
                        //decimal cube_cm3 = DAL.DecimalReturn(dt.Rows[i]["STDCUBE_NEW"]);
                        // decimal tareWeight_cm3 = grossWeight - netWeight;

                        //cube_cm3 =    Math.Round(cube_cm3, 5);

                        item.sku     = sku;
                        item.descr   = dt.Rows[i]["Desc_Article"].ToString().Trim().Replace("'", "\"");
                        item.addwho  = "addmin";
                        item.editwho = "admin";
                        item.susr1   = dt.Rows[i]["susr1"].ToString().Trim().TrimStart('0');
                        item.susr3   = dt.Rows[i]["susr3"].ToString().Trim();

                        item.packkey = sku + "_MMSOUTH";
                        //item.stdgrosswgt = grossWeight.ToString();
                        //item.stdnetwgt = netWeight.ToString();
                        //item.stdcube = cube_cm3.ToString();
                        //item.tare = tareWeight_cm3.ToString();
                        string logisticFlow = dt.Rows[i]["Logistic_Flow_Indicator"].ToString().Trim();
                        item.shelflifecodetype = "E";


                        if (logisticFlow == "19")
                        {
                            item.shelflifeindicator = "Y";
                            item.toexpiredays       = dt.Rows[i]["Expiry_Days"].ToString().Trim();
                        }
                        else
                        {
                            item.shelflifeindicator = "N";
                            item.toexpiredays       = "0";
                            #region

                            /*nếu shelflifeindicator là N thì phải để shelflife= 0 , nếu không
                             * sẽ báo lỗi localizedMessage internal server*/
                            #endregion
                            item.shelflife = "0";
                        }

                        string output = JsonConvert.SerializeObject(item);

                        JObject objectitem = JObject.Parse(output);
                        items.Add(objectitem);
                    }
                    catch (Exception e)
                    {
                        string step = string.Format(Constant.MODEL_SKU, "SOUTH");
                        resultMapping.Handle_Error_Mapping(code, e.ToString(), step);
                        continue;
                    }
                }
            }
            return(items);
        }