Exemple #1
0
        string IssueItemFunc(sapi.db db, Dictionary <string, string> vals, string mySt)
        {
            Dictionary <string, string> aVal = new Dictionary <string, string>();
            string re         = "";
            string screen     = "tblIssueNew";
            string screenItem = "tblIssueItemNew";
            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["issu_WarehouseID".ToLower()];
                    clsGlobal clsglobal = new clsGlobal();
                    string    hid       = (string)str.tbl[0].msg;
                    aVal.Clear();
                    aVal.Add("isit_issueid", 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);


                            double quit_Qty   = 0;
                            double quit_Price = 0;
                            if (v.ContainsKey("isit_Qty".ToLower()))
                            {
                                quit_Qty = db.cNum(v["isit_Qty".ToLower()]);
                            }
                            if (v.ContainsKey("isit_Price".ToLower()))
                            {
                                quit_Price = db.cNum(v["isit_Price".ToLower()]);
                            }

                            if (v.ContainsKey("isit_Total".ToLower()))
                            {
                                v["isit_Total".ToLower()] = (quit_Qty * quit_Price).ToString();
                            }
                            else
                            {
                                v.Add("isit_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.stockDeduction(db, v["isit_itemid"], whid, db.cNum(v["isit_qty"]));
                                }
                            }
                        }
                    }
                    clsglobal.issueTotal(hid, db);
                }
            }
            db.commit();
            return(re);
        }