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"); } }
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"); } }