Beispiel #1
0
 public String save_it(String podate, Int64 poid, String expecteddate, String shipto, String terms, Int64 projectid, String desc, Int64 dp, Int64 discount, Int64 remainingpayment, String detail, Boolean edit = false)
 {
     try
     {
         DateTime datenow  = Convert.ToDateTime(podate);
         DateTime datenow1 = Convert.ToDateTime(expecteddate);
         using (var db = new dbsmsEntities())
         {
             hpo newdata = db.hpoes.Find(poid);
             newdata.date         = datenow;
             newdata.expecteddate = datenow1;
             newdata.terms        = terms;
             newdata.description  = desc;
             newdata.dp           = dp;
             newdata.discount     = discount;
             newdata.grandtotal   = remainingpayment;
             newdata.to           = shipto;
             newdata.status       = 1;
             db.SaveChanges();
             if (dp > 0 && !edit)
             {
                 using (var db1 = new dbsmsEntities())
                 {
                     hpurchaseinvoice newdata1 = new hpurchaseinvoice();
                     newdata1.date        = datenow;
                     newdata1.number      = GlobalFunction.generate_code("DP");
                     newdata1.projectid   = projectid;
                     newdata1.terms       = terms;
                     newdata1.supplierid  = newdata.supplierid;
                     newdata1.description = "Down payment untuk PO : " + newdata.number;
                     newdata1.total       = dp;
                     newdata1.grandtotal  = dp;
                     newdata1.poid        = poid;
                     newdata1.diskon      = 0;
                     db1.hpurchaseinvoices.Add(newdata1);
                     dpurchaseinvoice newdata2 = new dpurchaseinvoice();
                     newdata2.itemcategoryid  = 2;
                     newdata2.itemdescription = "Down Payment";
                     newdata2.qty             = 1;
                     newdata2.unitprice       = dp;
                     newdata2.subtotal        = dp;
                     db1.dpurchaseinvoices.Add(newdata2);
                     db1.hpoes.Find(poid).project.status1.purchaseinvoice = 1;
                     db1.SaveChanges();
                 }
             }
             using (var db1 = new dbsmsEntities())
             {
                 //purchasepayment pp = new purchasepayment();
                 //pp.projectid = projectid;
                 //pp.purchaseinvoiceid = GlobalFunction.get_max_id("hpurchaseinvoice");
                 //pp.number = db1.hpurchaseinvoices.Find(GlobalFunction.get_max_id("hpurchaseinvoice")).number;
                 //pp.date = datenow;
                 //pp.supplierid = newdata.supplierid;
                 //pp.total = dp;
                 //pp.description = "Pembayaran DP untuk PO : " + newdata.number;
                 //pp.type = terms;
                 //pp.note = "";
                 //db1.purchasepayments.Add(pp);
                 db1.hpoes.Find(poid).project.status1.purchaseorder = 1;
                 db1.SaveChanges();
                 return("success");
             }
         }
     }
     catch (Exception e)
     {
         return("fail");
     }
 }
        //data: { ridate: ridate, poid: poid, desc: desc, detail: detail },
        public String save_it(String rinum, String ridate, Int64 poid, String desc, String detail)
        {
            try
            {
                DateTime datenow = Convert.ToDateTime(ridate);
                using (var db = new dbsmsEntities())
                {
                    hreceiveitem newdata = new hreceiveitem();
                    newdata.date        = datenow;
                    newdata.description = desc;
                    newdata.poid        = poid;
                    newdata.supplierid  = db.hpoes.Find(poid).supplierid;
                    newdata.projectid   = Convert.ToInt64(Session["project"]);
                    newdata.number      = rinum;
                    db.hreceiveitems.Add(newdata);
                    String[] res = detail.Split('ѥ');
                    for (int i = 0; i < res.Length - 1; i++)
                    {
                        String[]     result = res[i].Split('Ё');
                        dreceiveitem data   = new dreceiveitem();
                        //detail += itemcatid + "Ё" + itemdescription + "Ё" + qty;
                        data.itemcategoryid  = Convert.ToInt64(result[0]);
                        data.itemdescription = result[1];
                        data.qty             = Convert.ToInt32(result[2]);
                        //data.penawaranid = GlobalFunction.get_max_id("hpenawaran");
                        db.dreceiveitems.Add(data);
                    }
                    db.SaveChanges();
                    using (var db1 = new dbsmsEntities())
                    {
                        hpo  po_   = db1.hpoes.Find(poid);
                        bool penuh = true;
                        foreach (dpo item in po_.dpoes.ToList())
                        {
                            Int64 total = 0;
                            foreach (hreceiveitem item2 in db1.hreceiveitems.Where(x => x.poid == poid))
                            {
                                foreach (dreceiveitem item3 in item2.dreceiveitems.Where(x => x.itemcategoryid == item.itemcategoryid && x.itemdescription == item.itemdescription))
                                {
                                    total += item3.qty;
                                }
                            }
                            if (total != item.qty)
                            {
                                penuh = false;
                            }
                        }
                        if (penuh)
                        {
                            po_.status = 2;
                        }

                        db1.projects.Find(Convert.ToInt64(Session["project"])).status1.receiveitem = 1;
                        db1.SaveChanges();
                        return("success");
                    }
                }
            }
            catch (Exception e)
            {
                return("fail");
            }
        }
Beispiel #3
0
 public String save_all(String sodate, String expecteddate, String designdate, String terms, Int64 tcustomer, String usedesign, Int64 projectid, String desc, Int64 total, Int64 dp, Int64 remainingpayment, String detail, Boolean edit = false)
 {
     try
     {
         DateTime datenow  = Convert.ToDateTime(sodate);
         DateTime datenow1 = Convert.ToDateTime(expecteddate);
         DateTime datenow2 = Convert.ToDateTime(designdate);
         String   newSOnum = GlobalFunction.generate_code("SO");
         using (var db = new dbsmsEntities())
         {
             hsalesorder newdata = new hsalesorder();
             if (edit)
             {
                 newdata = db.projects.Find(projectid).hsalesorders.First();
             }
             newdata.date         = datenow;
             newdata.expecteddate = datenow1;
             if (usedesign == "true")
             {
                 newdata.designdate = datenow2;
             }
             else
             {
                 newdata.designdate = null;
             }
             newdata.terms       = terms;
             newdata.customerid  = tcustomer;
             newdata.projectid   = projectid;
             newdata.description = desc;
             if (!edit)
             {
                 newdata.number = newSOnum;
             }
             newdata.dp         = dp;
             newdata.total      = total;
             newdata.grandtotal = remainingpayment;
             if (!edit)
             {
                 db.hsalesorders.Add(newdata);
             }
             if (edit)
             {
                 List <dsalesorder> dpn = newdata.dsalesorders.ToList();
                 db.dsalesorders.RemoveRange(dpn);
             }
             String[] res = detail.Split('ѥ');
             for (int i = 0; i < res.Length - 1; i++)
             {
                 String[]    result = res[i].Split('Ё');
                 dsalesorder data   = new dsalesorder();
                 //itemcatid+"Ё"+itemdescription+"Ё"+qty+"Ё"+unitprice+"Ё"+subtotal
                 data.itemcategoryid  = Convert.ToInt64(result[0]);
                 data.itemdescription = result[1];
                 data.qty             = Convert.ToInt32(result[2]);
                 data.unitprice       = Convert.ToInt32(result[3]);
                 data.subtotal        = data.qty * data.unitprice;
                 //data.penawaranid = GlobalFunction.get_max_id("hpenawaran");
                 if (edit)
                 {
                     data.hsalesorder = newdata;
                 }
                 db.dsalesorders.Add(data);
             }
             db.SaveChanges();
             if (edit)
             {
                 return("success");
             }
             if (dp > 0)
             {
                 using (var db1 = new dbsmsEntities())
                 {
                     hsalesinvoice newdata1 = new hsalesinvoice();
                     newdata1.date        = datenow;
                     newdata1.number      = GlobalFunction.generate_code("INV");
                     newdata1.projectid   = projectid;
                     newdata1.terms       = terms;
                     newdata1.customerid  = tcustomer;
                     newdata1.description = "Down payment untuk SO : " + newSOnum;
                     newdata1.total       = dp;
                     newdata1.grandtotal  = dp;
                     db1.hsalesinvoices.Add(newdata1);
                     dsalesinvoice newdata2 = new dsalesinvoice();
                     newdata2.itemcategoryid  = 2;
                     newdata2.itemdescription = "Down Payment";
                     newdata2.qty             = 1;
                     newdata2.unitprice       = dp;
                     newdata2.subtotal        = dp;
                     db1.dsalesinvoices.Add(newdata2);
                     db1.SaveChanges();
                     using (var db2 = new dbsmsEntities())
                     {
                         db2.hsalesinvoices.Find(GlobalFunction.get_max_id("hsalesinvoice")).project.status1.salesinvoice = 1;
                         db2.SaveChanges();
                     }
                 }
             }
             using (var db1 = new dbsmsEntities())
             {
                 foreach (Int64 item in db.projects.Find(Convert.ToInt64(Session["project"])).hpenawarans.First().dpenawarans.Select(x => x.supplierid).Distinct())
                 {
                     String newponumb = GlobalFunction.generate_code("PO");
                     Int64  total_    = 0;
                     hpo    newhpo    = new hpo();
                     newhpo.date       = datenow;
                     newhpo.projectid  = Convert.ToInt64(Session["project"]);
                     newhpo.number     = newponumb;
                     newhpo.supplierid = item;
                     newhpo.terms      = "C.O.D";
                     newhpo.to         = "";
                     db1.hpoes.Add(newhpo);
                     Int64 maxday = 0;
                     foreach (dpenawaran item2 in db.projects.Find(Convert.ToInt64(Session["project"])).hpenawarans.First().dpenawarans.Where(x => x.supplierid == item))
                     {
                         dpo newdpo = new dpo();
                         newdpo.itemcategoryid  = item2.itemcategoryid;
                         newdpo.itemdescription = item2.itemdescription;
                         newdpo.qty             = item2.qty;
                         newdpo.unitprice       = item2.hpenawaran.project.findprices.Where(x => x.supplierid == item && x.itemdescription == item2.itemdescription).First().unitprice;
                         newdpo.subtotal        = newdpo.qty * newdpo.unitprice;
                         if (item2.hpenawaran.project.findprices.Where(x => x.supplierid == item && item2.itemdescription == x.itemdescription).First().timeneeded > maxday)
                         {
                             maxday = item2.hpenawaran.project.findprices.Where(x => x.supplierid == item && item2.itemdescription == x.itemdescription).First().timeneeded;
                         }
                         total_ += newdpo.subtotal;
                         db1.dpoes.Add(newdpo);
                     }
                     newhpo.total        = total_;
                     newhpo.dp           = 0;
                     newhpo.discount     = 0;
                     newhpo.grandtotal   = total_;
                     newhpo.expecteddate = datenow.AddDays(maxday);
                     db1.SaveChanges();
                 }
                 db1.hsalesorders.Find(GlobalFunction.get_max_id("hsalesorder")).project.status1.salesorder = 1;
                 db1.SaveChanges();
                 return("success");
             }
         }
     }
     catch (Exception e)
     {
         return("fail");
     }
 }