Esempio n. 1
0
        public string GetRuteByCustomer(int idCust, DateTime tanggalMuat)
        {
            GridRequestParameters param = GridRequestParameters.Current;

            if (param.Filters.Filters == null)
            {
                param.Filters.Filters = new List <tms_mka_v2.Infrastructure.FilterInfo>();
            }
            param.Filters.Filters.Add(new tms_mka_v2.Infrastructure.FilterInfo
            {
                Field    = "IdCust",
                Operator = "eq",
                Value    = idCust.ToString(),
            });

            List <Rute> listRute = new List <Rute>();
            List <Context.DaftarHargaOnCall> dho   = RepoDHO.FindAll(param.Skip, param.Take, (param.Sortings != null ? param.Sortings.ToList() : null), param.Filters);
            List <DaftarHargaOnCallItem>     model = new List <DaftarHargaOnCallItem>();

            Context.DaftarHargaOnCall dhoitem = dho.Where(d => tanggalMuat >= d.PeriodStart && tanggalMuat <= d.PeriodEnd).FirstOrDefault();

            if (dho != null)
            {
                foreach (Context.DaftarHargaOnCallItem item in dhoitem.DaftarHargaOnCallItem.ToList())
                {
                    model.Add(new DaftarHargaOnCallItem(item));
                }
            }

            return(new JavaScriptSerializer().Serialize(new { data = model }));
        }
Esempio n. 2
0
        public ActionResult Edit(int id)
        {
            Context.DaftarHargaOnCall dbitem = RepoDHO.FindByPK(id);
            DaftarHargaOnCall         model  = new DaftarHargaOnCall(dbitem);

            ViewBag.name = model.NamaCustomer;
            return(View("Form", model));
        }
Esempio n. 3
0
        public DaftarHargaOnCall(Context.DaftarHargaOnCall dbitem)
        {
            Context.CustomerPic     custPIC  = dbitem.Customer.CustomerPic.FirstOrDefault();
            Context.CustomerAddress custAddr = dbitem.Customer.CustomerAddress.Where(
                a => a.LookUpCodesOffice.Nama.ToLower() == "head office" || a.LookUpCodesOffice.Nama.ToLower() == "kantor pusat").FirstOrDefault();

            //header
            Id           = dbitem.Id;
            IdCust       = dbitem.IdCust;
            KodeCustomer = dbitem.Customer.CustomerCode;
            KodeNama     = dbitem.Customer.CustomerCodeOld;
            NamaCustomer = dbitem.Customer.CustomerNama;
            PeriodStart  = dbitem.PeriodStart;
            PeriodEnd    = dbitem.PeriodEnd;

            if (custAddr != null)
            {
                AlamatCustomer = custAddr.Alamat;
                TelpCustomer   = custAddr.Telp;
                FaxCustomer    = custAddr.Fax;
            }

            if (custPIC != null)
            {
                ContactCustomer = custPIC.Name;
                HpCustomer      = custPIC.Mobile;
            }
            //item
            listItem = new List <DaftarHargaOnCallItem>();
            foreach (Context.DaftarHargaOnCallItem item in dbitem.DaftarHargaOnCallItem.ToList())
            {
                listItem.Add(new DaftarHargaOnCallItem(item));
            }
            //kondisi
            listKondisi = new List <DaftarHargaKondisi>();
            foreach (Context.DaftarHargaOnCallKondisi item in dbitem.DaftarHargaOnCallKondisi.ToList())
            {
                listKondisi.Add(new DaftarHargaKondisi(item));
            }
            //attachment
            listAtt = new List <DaftarHargaOnCallAttachment>();
            foreach (Context.DaftarHargaOnCallAttachment item in dbitem.DaftarHargaOnCallAttachment.ToList())
            {
                listAtt.Add(new DaftarHargaOnCallAttachment(item));
            }
        }
Esempio n. 4
0
        public JsonResult IsUsed(int id, bool isImported)
        {
            bool isExistData = false;

            // fitur Import Daftar Harga
            if (isImported)
            {
                Context.DaftarHargaOnCall dbItem = RepoDHO.FindByPK(id);
                List <int> listId = dbItem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbItem.Id).Select(i => i.Id).ToList();
                isExistData = RepoSO.FindAllOnCall().Where(a => listId.Contains(a.SalesOrderOncall.IdDaftarHargaItem.Value)).Count() > 0;
            }
            // edit & delete grid item Daftar Harga
            else
            {
                isExistData = RepoSO.FindAllOnCall().Where(a => a.SalesOrderOncall.IdDaftarHargaItem == id).Count() > 0;
            }

            return(this.Json(isExistData, JsonRequestBehavior.AllowGet));
        }
Esempio n. 5
0
        public JsonResult Delete(int id)
        {
            bool         isExistData = false;
            ResponeModel response    = new ResponeModel(true);

            Context.DaftarHargaOnCall dbItem = RepoDHO.FindByPK(id);
            List <int> listId = dbItem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbItem.Id).Select(i => i.Id).ToList();

            isExistData = RepoSO.FindAllOnCall().Where(a => listId.Contains(a.SalesOrderOncall.IdDaftarHargaItem.Value)).Count() > 0;

            if (!isExistData)
            {
                RepoDHO.delete(dbItem);
            }
            else
            {
                response.Success = false;
                response.Message = "Data sudah digunakan, Penghapusan gagal";
            }

            return(Json(response));
        }
Esempio n. 6
0
        public String GetItem(int id, string date)
        {
            DateTime dtrDate  = DateTime.Parse(date.Split(new string[] { " - " }, StringSplitOptions.None)[0]);
            DateTime dtrDate2 = DateTime.Parse(date.Split(new string[] { " - " }, StringSplitOptions.None)[1]);

            List <DaftarHargaOnCallItem> listItem = new List <DaftarHargaOnCallItem>();

            Context.DaftarHargaOnCall DHO = RepoDHO.FindAll().Where(d => d.Id == id && d.PeriodStart == dtrDate && d.PeriodEnd == dtrDate2).FirstOrDefault();
            if (DHO != null)
            {
                foreach (Context.DaftarHargaOnCallItem item in DHO.DaftarHargaOnCallItem)
                {
                    listItem.Add(new DaftarHargaOnCallItem(item));
                }
            }

            return(new JavaScriptSerializer().Serialize(
                       listItem.Select(i => new
            {
                Id = i.Id,
                NamaRuteDaftarHarga = i.NamaRuteDaftarHarga,
                ListIdRute = i.ListIdRute,
                ListNamaRute = i.ListNamaRute,
                IdJenisTruck = i.IdJenisTruck,
                NamaJenisTruck = i.NamaJenisTruck,
                MinKg = i.MinKg,
                Harga = i.Harga,
                IdSatuanHarga = i.IdSatuanHarga,
                SatuanHarga = i.SatuanHarga,
                IsAsuransi = i.IsAsuransi,
                IsAdhoc = i.IsAdHoc,
                PihakPenanggung = i.PihakPenanggung,
                TipeNilaiTanggungan = i.TipeNilaiTanggungan,
                Premi = i.Premi,
                NilaiTanggungan = i.NilaiTanggungan,
                Keterangan = i.Keterangan
            })));
        }
Esempio n. 7
0
 public decimal Harga(Context.SalesOrder dbso)
 {
     Context.DaftarHargaOnCallItem dhocItem = context.DaftarHargaOnCallItem.Where(d => d.Id == dbso.SalesOrderOncall.IdDaftarHargaItem).FirstOrDefault();
     Context.DaftarHargaOnCall     dhoc     = context.DaftarHargaOnCall.Where(d => d.Id == dhocItem.IdDaftarHargaOnCall).FirstOrDefault();
     return(dhocItem.Harga + dhoc.DaftarHargaOnCallKondisi.Where(d => d.IsInclude == true && d.IsBill == false && d.value > 0).Sum(d => d.value.Value));
 }
Esempio n. 8
0
        public ActionResult Add(DaftarHargaOnCall model)
        {
            //validasi kondisi
            int idx = 0;

            foreach (DaftarHargaKondisi item in model.listKondisi.Where(d => d.IsDelete == false))
            {
                if (item.kondisi != "Biaya Multidrop" && item.IsDefault == true && item.IsInclude == true && item.IsBill == false && item.value == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsKota == true && item.ValKota == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValKota", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsTitik == true && item.ValTitik == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValTitik", "Nilai harus diisi.");
                }
                if (item.IsDefault == false)
                {
                    if (item.kondisi == "" || item.kondisi == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].kondisi", "Nama kondisi harus diisi.");
                    }
                    if (item.IsInclude == true && item.IsBill == false && item.value == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                    }
                }

                idx++;
            }

            DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(model.StrItem);
            model.listItem = result.ToList();

            DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(model.StrAttachment);
            model.listAtt = resultAtt.ToList();

            if (ModelState.IsValid)
            {
                bool palid = true;
                if (RepoDHO.IsPeriodValid(model.PeriodStart.Value, model.PeriodEnd.Value, model.IdCust.Value))
                {
                    ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping.");
                    ModelState.AddModelError("PeriodEnd", "Periode akhir tidak boleh overlaping.");
                    palid = false;
                }
                if (!palid)
                {
                    return(View("Form", model));
                }

                Context.DaftarHargaOnCall dbitem = new Context.DaftarHargaOnCall();
                model.setDb(dbitem);
                RepoDHO.save(dbitem);

                return(RedirectToAction("Index"));
            }

            return(View("Form", model));
        }
Esempio n. 9
0
        public ActionResult Edit(DaftarHargaOnCall model)
        {
            //validasi kondisi
            int idx = 0;

            foreach (DaftarHargaKondisi item in model.listKondisi.Where(d => d.IsDelete == false))
            {
                if (item.kondisi != "Biaya Multidrop" && item.IsDefault == true && item.IsInclude == true && item.IsBill == false && item.value == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsKota == true && item.ValKota == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValKota", "Nilai harus diisi.");
                }
                if (item.kondisi == "Biaya Multidrop" && item.IsTitik == true && item.ValTitik == null)
                {
                    ModelState.AddModelError("listKondisi[" + idx + "].ValTitik", "Nilai harus diisi.");
                }
                if (item.IsDefault == false)
                {
                    if (item.kondisi == "" || item.kondisi == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].kondisi", "Nama kondisi harus diisi.");
                    }
                    if (item.IsInclude == true && item.IsBill == false && item.value == null)
                    {
                        ModelState.AddModelError("listKondisi[" + idx + "].value", "Nilai harus diisi.");
                    }
                }

                idx++;
            }

            if (RepoDHO.IsPeriodValid(model.PeriodStart.Value, model.PeriodEnd.Value, model.IdCust.Value, model.Id))
            {
                ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping.");
                ModelState.AddModelError("PeriodEnd", "Periode akhir tidak boleh overlaping.");
            }

            //if (RepoDHO.IsUsedPrices(model.Id))
            //{
            //    //ModelState.AddModelError("PeriodStart", "Periode awal tidak boleh overlaping.");
            //    ViewBag.errorMsg = "Daftar Harga sudah digunakan, Proses tidak dapat dilanjutkan";
            //    return View("Form", model);
            //}

            if (ModelState.IsValid)
            {
                Context.DaftarHargaOnCall dbitem = RepoDHO.FindByPK(model.Id);
                model.setDb(dbitem);
                RepoDHO.save(dbitem);

                return(RedirectToAction("Index"));
            }
            ViewBag.name = model.NamaCustomer;

            DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(model.StrItem);
            model.listItem = result.ToList();

            DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(model.StrAttachment);
            model.listAtt = resultAtt.ToList();

            return(View("Form", model));
        }
Esempio n. 10
0
        public void setDb(Context.DaftarHargaOnCall dbitem)
        {
            //header
            dbitem.Id          = Id;
            dbitem.IdCust      = IdCust;
            dbitem.PeriodStart = PeriodStart.Value;
            dbitem.PeriodEnd   = PeriodEnd.Value;
            //item
            //dbitem.DaftarHargaOnCallItem.Clear();
            DaftarHargaOnCallItem[] result = JsonConvert.DeserializeObject <DaftarHargaOnCallItem[]>(StrItem);
            List <Context.DaftarHargaOnCallItem> DummyItems = dbitem.DaftarHargaOnCallItem.ToList();
            // edit row

            List <int> ListAnuTeuDiHapus = new List <int>();

            foreach (DaftarHargaOnCallItem item in result)
            {
                if (item.Id != 0)
                {
                    Context.DaftarHargaOnCallItem dhkItem = dbitem.DaftarHargaOnCallItem.Where(i => i.IdDaftarHargaOnCall == dbitem.Id && i.Id == item.Id).FirstOrDefault();
                    dhkItem.Id = item.Id;
                    dhkItem.NamaRuteDaftarHarga = item.NamaRuteDaftarHarga;
                    dhkItem.ListIdRute          = item.ListIdRute;
                    dhkItem.ListNamaRute        = item.ListNamaRute;
                    dhkItem.IdJenisTruck        = item.IdJenisTruck;
                    dhkItem.MinKg               = item.MinKg;
                    dhkItem.Harga               = item.Harga;
                    dhkItem.IdSatuanHarga       = item.IdSatuanHarga;
                    dhkItem.IsAsuransi          = item.IsAsuransi;
                    dhkItem.IsAdHoc             = item.IsAdHoc;
                    dhkItem.PihakPenanggung     = item.PihakPenanggung;
                    dhkItem.TipeNilaiTanggungan = item.TipeNilaiTanggungan;
                    dhkItem.NilaiTanggungan     = item.NilaiTanggungan;
                    dhkItem.Premi               = item.Premi;
                    dhkItem.Keterangan          = item.Keterangan;
                    ListAnuTeuDiHapus.Add(item.Id);
                }
                else
                {
                    dbitem.DaftarHargaOnCallItem.Add(new Context.DaftarHargaOnCallItem()
                    {
                        //Id = item.Id,
                        NamaRuteDaftarHarga = item.NamaRuteDaftarHarga,
                        ListIdRute          = item.ListIdRute,
                        ListNamaRute        = item.ListNamaRute,
                        IdJenisTruck        = item.IdJenisTruck,
                        MinKg               = item.MinKg,
                        Harga               = item.Harga,
                        IdSatuanHarga       = item.IdSatuanHarga,
                        IsAsuransi          = item.IsAsuransi,
                        IsAdHoc             = item.IsAdHoc,
                        PihakPenanggung     = item.PihakPenanggung,
                        TipeNilaiTanggungan = item.TipeNilaiTanggungan,
                        NilaiTanggungan     = item.NilaiTanggungan,
                        Premi               = item.Premi,
                        Keterangan          = item.Keterangan
                    });
                }
            }
            //hapus anu teu dipilih
            foreach (Context.DaftarHargaOnCallItem dbhapus in DummyItems)
            {
                if (!ListAnuTeuDiHapus.Any(d => d == dbhapus.Id))
                {
                    dbitem.DaftarHargaOnCallItem.Remove(dbhapus);
                }
            }

            //kondisi
            dbitem.DaftarHargaOnCallKondisi.Clear();
            foreach (DaftarHargaKondisi item in listKondisi.Where(d => d.IsDelete == false))
            {
                dbitem.DaftarHargaOnCallKondisi.Add(new Context.DaftarHargaOnCallKondisi()
                {
                    kondisi   = item.kondisi,
                    IsInclude = item.IsInclude,
                    IsBill    = item.IsBill,
                    value     = item.value,
                    IsDefault = item.IsDefault,
                    IsKota    = item.IsKota,
                    IsTitik   = item.IsTitik,
                    ValKota   = item.ValKota,
                    ValTitik  = item.ValTitik,
                    IsDelete  = item.IsDelete,
                });
            }

            //Attachment
            dbitem.DaftarHargaOnCallAttachment.Clear();
            DaftarHargaOnCallAttachment[] resultAtt = JsonConvert.DeserializeObject <DaftarHargaOnCallAttachment[]>(StrAttachment);
            foreach (DaftarHargaOnCallAttachment item in resultAtt)
            {
                dbitem.DaftarHargaOnCallAttachment.Add(new Context.DaftarHargaOnCallAttachment()
                {
                    FileName  = item.FileName,
                    RFileName = item.RFileName,
                });
            }
        }