示例#1
0
        //-- function --
        string ReceiveItemFunc(sapi.db db, Dictionary <string, string> vals, string mySt)
        {
            Dictionary <string, string> aVal = new Dictionary <string, string>();
            string re         = "";
            string screen     = "tblReceiveNew";
            string screenItem = "tblReceiveItemNew";
            string whid       = "0";

            sapi.sapi cls = new sapi.sapi();
            db.beginTran();
            re = cls.saveRecord(screen, vals, db, aVal, ignoreROF: true);
            var str = JsonConvert.DeserializeObject <dynamic>(re);

            if (str.tbl != null)
            {
                if (str.tbl[0].status == "ok")
                {
                    whid = vals["rece_WarehouseID".ToLower()];
                    clsGlobal clsglobal = new clsGlobal();
                    string    hid       = (string)str.tbl[0].msg;
                    aVal.Clear();
                    aVal.Add("reit_receiveid", hid);
                    //foreach (var st in Request.Form["N"].ToString().Split(','))
                    foreach (var st in mySt.ToString().Split(','))
                    {
                        {
                            string re2 = "";
                            Dictionary <string, string> v = cls.getItemVals(screenItem, vals, db, st);

                            v.Add("rece_Date".ToLower(), vals["rece_Date".ToLower()]);
                            double quit_Qty   = 0;
                            double quit_Price = 0;
                            if (v.ContainsKey("reit_Qty".ToLower()))
                            {
                                quit_Qty = db.cNum(v["reit_Qty".ToLower()]);
                            }
                            if (v.ContainsKey("reit_Price".ToLower()))
                            {
                                quit_Price = db.cNum(v["reit_Price".ToLower()]);
                            }

                            if (v.ContainsKey("reit_Total".ToLower()))
                            {
                                v["reit_Total".ToLower()] = (quit_Qty * quit_Price).ToString();
                            }
                            else
                            {
                                v.Add("reit_Total".ToLower(), (quit_Qty * quit_Price).ToString());
                            }
                            re2 = cls.saveRecord(screenItem, v, db, aVal, st);
                            str = JsonConvert.DeserializeObject <dynamic>(re2);
                            if (str.tbl != null)
                            {
                                if (str.tbl[0].status != "ok")
                                {
                                    db.rollback();
                                    return(re2);
                                }
                                else
                                {
                                    clsglobal.receiveItem(db, v, whid);
                                }
                            }
                        }
                    }
                    clsglobal.ReceiveTotal(hid, db);
                }
            }
            db.commit();
            return(re);
        }
示例#2
0
        string uploadSO(sapi.db db, Dictionary <string, string> vals, string mySt)
        {
            string             token       = Request.Headers.GetValues("token").First();
            UserProfileViewDTO userProfile = Helper.Helper.GetUserProfile(token);

            HttpContext.Current.Session["userid"] = userProfile.id;
            HttpContext.Current.Session["user"]   = userProfile.userName;
            string re  = "";
            string re2 = "";
            string hid = "";

            sapi.sapi cls                    = new sapi.sapi();
            string    screenItem             = "tblSaleOrderItemNew";
            string    screen                 = "tblSaleOrderNew";
            Dictionary <string, string> aVal = new Dictionary <string, string>();
            DataTable tblResult              = new DataTable();

            tblResult.Rows.Add();
            tblResult.Columns.Add("status");
            tblResult.Columns.Add("msg");

            db.beginTran();

            if (!vals.ContainsKey("sord_Date".ToLower()))
            {
                vals.Add("sord_Date".ToLower(), db.getDate(DateTime.UtcNow.AddHours(7).ToString("yyyy-MM-dd HH:mm"), 1));
            }
            else
            {
                vals.Remove("sord_Date".ToLower());
                vals.Add("sord_Date".ToLower(), db.getDate(DateTime.UtcNow.AddHours(7).ToString("yyyy-MM-dd HH:mm"), 1));
            }
            if (vals.ContainsKey("invo_daystoexp"))
            {
                double invo_daystoexp = db.cNum(vals["invo_daystoexp"]);
                if (!vals.ContainsKey("sord_Date".ToLower()))
                {
                    vals.Add("sord_EndDate".ToLower(), db.getDate(DateTime.UtcNow.AddDays(invo_daystoexp).AddHours(7).ToString("yyyy-MM-dd HH:mm"), 1));
                }
                else
                {
                    vals.Remove("sord_EndDate".ToLower());
                    vals.Add("sord_EndDate".ToLower(), db.getDate(DateTime.UtcNow.AddDays(invo_daystoexp).AddHours(7).ToString("yyyy-MM-dd HH:mm"), 1));
                }
            }

            if (vals.ContainsKey("sord_saleorderid"))
            {
                if (string.IsNullOrEmpty(vals["sord_saleorderid"]) || vals["sord_saleorderid"] == "0")
                {
                    vals.Remove("sord_saleorderid");
                }
            }

            if (vals.ContainsKey("tbls_tableid"))
            {
                if (!string.IsNullOrEmpty(vals["tbls_tableid"]))
                {
                    db.execData("Update tblTable Set tbls_Status = 'O' Where tbls_TableID = " + vals["tbls_tableid"]);
                    aVal.Add("sord_TableID", vals["tbls_tableid"]);
                }
            }

            string sord_assignedto = "";

            if (vals.ContainsKey("sord_assignedto".ToLower()))
            {
                if (!string.IsNullOrEmpty(vals["sord_assignedto".ToLower()]))
                {
                    sord_assignedto = vals["sord_assignedto".ToLower()];
                }
            }
            if (string.IsNullOrEmpty(sord_assignedto))
            {
                DataTable tmpTbl = db.readData("exec notificationSetup 'SO'");
                if (tmpTbl.Rows.Count > 0)
                {
                    sord_assignedto = tmpTbl.Rows[0][0].ToString();
                }
            }

            if (!vals.ContainsKey("sord_assignedto".ToLower()))
            {
                vals["sord_assignedto"] = sord_assignedto;
            }
            else
            {
                vals.Add("sord_assignedto", sord_assignedto);
            }

            re = cls.saveRecord(screen, vals, db, aVals: aVal, ignoreROF: true);

            var str = JsonConvert.DeserializeObject <dynamic>(re);

            if (str.tbl != null)
            {
                if (str.tbl[0].status == "ok")
                {
                    hid = (string)str.tbl[0].msg;
                    //foreach (var st in Request.Form["N"].ToString().Split(','))
                    foreach (var st in mySt.ToString().Split(','))
                    {
                        aVal.Clear();
                        aVal.Add("soit_SaleOrderID", hid);
                        if (string.IsNullOrEmpty(st))
                        {
                            continue;
                        }
                        Dictionary <string, string> v = cls.getItemVals(screenItem, vals, db, st);
                        v["soit_total"] = (db.cNum(v["soit_Qty".ToLower()].ToString()) * db.cNum(v["soit_Price".ToLower()].ToString())).ToString();
                        aVal.Add("soit_ShipQty", "0");
                        aVal.Add("soit_RemainQty", v["soit_Qty".ToLower()]);

                        if (vals.ContainsKey("soit_saleorderitemid"))
                        {
                            if (string.IsNullOrEmpty(vals["soit_saleorderitemid"]) || vals["soit_saleorderitemid"] == "0")
                            {
                                vals.Remove("soit_saleorderitemid");
                            }
                        }

                        re2 = cls.saveRecord(screenItem, v, db, aVal, st, ignoreROF: true);
                        str = JsonConvert.DeserializeObject <dynamic>(re2);
                        if (str.tbl != null)
                        {
                            if (str.tbl[0].status != "ok")
                            {
                                db.rollback();
                                return(re2);
                            }
                        }
                    }
                    new clsGlobal().SOTotal(hid, db);


                    if (!string.IsNullOrEmpty(sord_assignedto))
                    {
                        db.execData("insert into [dbo].[sys_notification]" +
                                    "([notf_Name],[notf_objectID],[notf_objectValue],[notf_Module],[notf_UserID],[notf_FromUserID])" +
                                    "values(NULL," +
                                    "1035," + hid + ",'SO'," + sord_assignedto + "," + userProfile.id + ")");
                        new clsGlobal().notification(userProfile.id.ToString(), "SO", sord_assignedto, db);
                    }
                }
                else
                {
                    db.rollback();
                    return(re);
                }
            }
            db.commit();
            return(re);
        }