public SPKHeaderModel Detail(int SPKId) { SPKHeaderModel _spk = new SPKHeaderModel(); using (TDMDBEntities context = new TDMDBEntities()) { var _qrySPK = context.tb_spkHdr.Find(SPKId); if (_qrySPK != null) { imap = config.CreateMapper(); _spk = imap.Map <tb_spkHdr, SPKHeaderModel>(_qrySPK); // var _qryEquipment = context.tb_KetTambahan.Where(x => x.SPKId == SPKId).FirstOrDefault(); var _qryAdditional = context.tb_PerlTambahan.Where(x => x.SPKId == SPKId); var _qryAttachment = context.tb_Attachment.Where(x => x.DocId == SPKId); //if (_qryEquipment!=null) //{ // _spk.spkequipment = new SPKEquipmentModel(); // _spk.spkequipment.Id = _qryEquipment.Id; // _spk.spkequipment.SPKId = _qryEquipment.SPKId; // _spk.spkequipment.IsKaroseri = _qryEquipment.IsKaroseri; // _spk.spkequipment.Karoseri = _qryEquipment.Karoseri; // _spk.spkequipment.IsOnTheRoad = _qryEquipment.IsOnTheRoad; // _spk.spkequipment.IsOffTheRoad = _qryEquipment.IsOffTheRoad; // _spk.spkequipment.IsChooseNo = _qryEquipment.IsChooseNo; // _spk.spkequipment.PlatNo = _qryEquipment.PlatNo; //} _spk.lsadditional = new List <SPKAdditionalModel>(); foreach (var item in _qryAdditional) { _spk.lsadditional.Add(new SPKAdditionalModel { Id = item.Id , SPKId = item.SPKId , No = (int)item.No , Additional = item.AdditionalItem }); } _spk.lsspkattachment = new List <SPKAttachmentModel>(); foreach (var att in _qryAttachment) { _spk.lsspkattachment.Add(new SPKAttachmentModel { Id = (Int32)att.Id, DocId = att.DocId, AttachmentName = att.AttachmentName, DocType = (int)att.DocType }); } } } return(_spk); }
public int Insert(SPKHeaderModel hdr, List <SPKAdditionalModel> lsAdditional, SPKEquipmentModel misc, List <SPKAttachmentModel> attchs, int docType, out string errMsg) { errMsg = string.Empty; imap = config.CreateMapper(); int _spkId = 0; tb_spkHdr hdrEnt = new tb_spkHdr(); tb_KetTambahan miscEnt = new tb_KetTambahan(); tb_PerlTambahan additionalEnt = new tb_PerlTambahan(); using (TDMDBEntities context = new TDMDBEntities()) { using (var transaction = context.Database.BeginTransaction()) { try { imap = config.CreateMapper(); hdrEnt = imap.Map <SPKHeaderModel, tb_spkHdr>(hdr); context.tb_spkHdr.Add(hdrEnt); result_affected = context.SaveChanges(); _spkId = hdrEnt.Id; foreach (var item in lsAdditional) { additionalEnt.No = item.No; additionalEnt.SPKId = _spkId; additionalEnt.AdditionalItem = item.Additional; context.tb_PerlTambahan.Add(additionalEnt); result_affected += context.SaveChanges(); } //miscEnt = imap.Map<SPKEquipmentModel, tb_KetTambahan>(misc); //miscEnt.SPKId = _spkId; //context.tb_KetTambahan.Add(miscEnt); //result_affected += context.SaveChanges(); foreach (var item in attchs) { tb_Attachment attchEnt = new tb_Attachment(); attchEnt.Attachment = item.Attachment; attchEnt.AttachmentName = item.AttachmentName; attchEnt.DocType = item.DocType; attchEnt.DocId = _spkId; attchEnt.CreatedBy = "SYSTEM"; attchEnt.CreatedDate = DateTime.Now; context.tb_Attachment.Add(attchEnt); result_affected += context.SaveChanges(); } //insert to worklist tb_Worklist _entWorklist = new tb_Worklist(); _entWorklist.DocId = _spkId; _entWorklist.DocType = docType; _entWorklist.Status = MyEnums.workflowStatus.PENDING.ToString(); _entWorklist.StartDate = DateTime.Now; _entWorklist.CurrLevel = 0; _entWorklist.NextApprover = Convert.ToInt32(new WorkflowSettingBLL().GetNextActorId(docType, _entWorklist.CurrLevel + 1)); _entWorklist.CreatedBy = hdr.CreatedBy; _entWorklist.CreatedDate = DateTime.Now; context.tb_Worklist.Add(_entWorklist); result_affected += context.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); errMsg = ex.Message; } } } return(_spkId); }
public int Update(SPKHeaderModel hdr, List <SPKAdditionalModel> lsAdditional, SPKEquipmentModel misc, List <SPKAttachmentModel> attchs, int docType, WorklistModel wrkl, out string errMsg) { errMsg = string.Empty; imap = config.CreateMapper(); result_affected = 0; tb_spkHdr hdrEnt = new tb_spkHdr(); tb_KetTambahan miscEnt = new tb_KetTambahan(); tb_PerlTambahan additionalEnt = new tb_PerlTambahan(); tb_Worklist_Archive worklistArchive = new tb_Worklist_Archive(); using (TDMDBEntities context = new TDMDBEntities()) { using (var transaction = context.Database.BeginTransaction()) { try { var update = context.tb_spkHdr.SingleOrDefault(x => x.Id == hdr.Id); if (update != null) { update.SPKDate = hdr.SPKDate; update.JanjiPenyerahan = hdr.JanjiPenyerahan; update.LOTNo = hdr.LOTNo; update.Buyer = hdr.Buyer; update.BuyerAddress = hdr.BuyerAddress; update.KTP = hdr.KTP; update.Phone = hdr.Phone; update.STNKName = hdr.STNKName; update.STNKAddress = hdr.STNKAddress; update.Email = hdr.Email; update.Branch = hdr.Branch; update.Merk = hdr.Merk; update.Warna = hdr.Warna; update.Karoseri = hdr.Karoseri; update.MachineNo = hdr.MachineNo; update.RangkaNo = hdr.RangkaNo; update.Pembiayaan = hdr.Pembiayaan; update.Year = hdr.Year; update.Via = hdr.Via; update.PercentageBunga = hdr.PercentageBunga; update.OTRPrice = hdr.OTRPrice; update.KaroseriPrice = hdr.KaroseriPrice; update.TotalPrice = hdr.TotalPrice; update.DP = hdr.DP; update.TandaJadi = hdr.TandaJadi; update.Pembayaran = hdr.Pembayaran; update.TransferVia = hdr.TransferVia; update.AlamatKirim = hdr.AlamatKirim; update.City = hdr.City; update.IsKaroseri = hdr.IsKaroseri; update.KaroseriDesc = hdr.KaroseriDesc; update.IsOnTR = hdr.IsOnTR; update.IsOffTR = hdr.IsOffTR; update.IsChooseNo = hdr.IsChooseNo; update.ChooseNo = hdr.ChooseNo; update.ModifiedBy = hdr.ModifiedBy; update.ModifiedDate = DateTime.Now; result_affected = context.SaveChanges(); #region ::ADDITIONAL ITEMS:: //remove additional items var _qryAdditional = context.tb_PerlTambahan.Where(x => x.SPKId == hdr.Id); context.tb_PerlTambahan.RemoveRange(_qryAdditional); context.SaveChanges(); //add additional items foreach (var item in lsAdditional) { additionalEnt.No = item.No; additionalEnt.SPKId = hdr.Id; additionalEnt.AdditionalItem = item.Additional; context.tb_PerlTambahan.Add(additionalEnt); result_affected += context.SaveChanges(); } #endregion #region ::ATTACHMENTS:: foreach (var item in attchs) { tb_Attachment attchEnt = new tb_Attachment(); attchEnt.Attachment = item.Attachment; attchEnt.AttachmentName = item.AttachmentName; attchEnt.DocType = item.DocType; attchEnt.DocId = hdr.Id; attchEnt.CreatedBy = "SYSTEM"; attchEnt.CreatedDate = DateTime.Now; context.tb_Attachment.Add(attchEnt); result_affected += context.SaveChanges(); } #endregion #region ::WORKFLOW APPROVAL:: var _updWorklist = context.tb_Worklist.SingleOrDefault(x => x.DocId == hdr.Id && x.DocType == docType); if (wrkl.Actioner.ToLower() == MyEnums.actionStatus.APPROVE.ToString().ToLower() || wrkl.Actioner.ToLower() == MyEnums.actionStatus.ACKNOWLEDGE.ToString().ToLower()) { if (_updWorklist != null) { worklistArchive = imap.Map <tb_Worklist, tb_Worklist_Archive>(_updWorklist); worklistArchive.RespondDate = DateTime.Now; worklistArchive.Actioner = wrkl.Actioner; worklistArchive.LastActor = wrkl.Actor; worklistArchive.CreatedBy = _updWorklist.CreatedBy; worklistArchive.CreatedDate = _updWorklist.CreatedDate; worklistArchive.ModifiedBy = hdr.CreatedBy; worklistArchive.ModifiedDate = DateTime.Now; worklistArchive.LastLevel = _updWorklist.CurrLevel + 1; worklistArchive.IsCompleted = new WorkflowSettingBLL().CheckIsWorkflowCompleted(docType, (int)worklistArchive.LastLevel); if (worklistArchive.IsCompleted) { worklistArchive.Status = MyEnums.workflowStatus.COMPLETED.ToString(); } context.tb_Worklist_Archive.Add(worklistArchive); context.SaveChanges(); if (!worklistArchive.IsCompleted) { //update status worklist _updWorklist.CurrLevel = _updWorklist.CurrLevel + 1; _updWorklist.ModifiedBy = hdr.ModifiedBy; _updWorklist.ModifiedDate = DateTime.Now; _updWorklist.NextApprover = Convert.ToInt32(new WorkflowSettingBLL().GetNextActorId(docType, _updWorklist.CurrLevel + 1)); result_affected += context.SaveChanges(); } else { var removeDocId = context.tb_Worklist.Where(x => x.DocId == hdr.Id); context.tb_Worklist.RemoveRange(removeDocId); result_affected += context.SaveChanges(); } } } else if (wrkl.Actioner.ToLower() == MyEnums.actionStatus.REJECT.ToString().ToLower()) { worklistArchive = imap.Map <tb_Worklist, tb_Worklist_Archive>(_updWorklist); worklistArchive.RespondDate = DateTime.Now; worklistArchive.Actioner = wrkl.Actioner; worklistArchive.LastActor = wrkl.Actor; worklistArchive.CreatedBy = _updWorklist.CreatedBy; worklistArchive.CreatedDate = _updWorklist.CreatedDate; worklistArchive.ModifiedBy = hdr.CreatedBy; worklistArchive.ModifiedDate = DateTime.Now; worklistArchive.LastLevel = _updWorklist.CurrLevel + 1; worklistArchive.IsCompleted = true; context.tb_Worklist_Archive.Add(worklistArchive); context.SaveChanges(); var removeDocId = context.tb_Worklist.Where(x => x.DocId == hdr.Id); context.tb_Worklist.RemoveRange(removeDocId); context.SaveChanges(); } #endregion transaction.Commit(); } } catch (Exception ex) { transaction.Rollback(); errMsg = ex.Message == null ? ex.InnerException.Message : ex.Message; } } } return(result_affected); }
public JsonResult UpdateSPK() { string _status = MyEnums.enumStatus.SUCCESS.ToString(); string _retId = "0"; string _errMsg = string.Empty; List <SPKAttachmentModel> _lsAttachment = new List <SPKAttachmentModel>(); List <SPKAdditionalModel> _lsAdditional = new List <SPKAdditionalModel>(); SPKHeaderModel _spk = new SPKHeaderModel(); SPKEquipmentModel _misc = new SPKEquipmentModel(); if (Session["UserLogon"] != null) { _spk.Id = Int32.Parse(Request.Form["SPKID"].ToString()); _spk.SPKDate = DateTime.Parse(Request.Form["TglSPK"].ToString()); _spk.JanjiPenyerahan = DateTime.Parse(Request.Form["JanjiSerah"].ToString()); _spk.Branch = Request.Form["Branch"].ToString(); _spk.LOTNo = Request.Form["Lot"].ToString(); _spk.Buyer = Request.Form["BuyerName"].ToString(); _spk.BuyerAddress = Request.Form["BuyerAddress"].ToString(); _spk.KTP = Request.Form["KTP"].ToString(); _spk.Phone = Request.Form["Phone"].ToString(); _spk.STNKName = Request.Form["STNKName"].ToString(); _spk.STNKAddress = Request.Form["AlamatSTNK"].ToString(); _spk.Email = Request.Form["Email"].ToString(); _spk.Merk = Request.Form["Merk"].ToString(); _spk.Warna = Request.Form["Warna"].ToString(); _spk.Year = Request.Form["Tahun"] == "" ? DateTime.Now.Year : int.Parse(Request.Form["Tahun"].ToString()); _spk.Karoseri = Request.Form["Karoseri"].ToString(); _spk.MachineNo = Request.Form["MachineNo"].ToString(); _spk.RangkaNo = Request.Form["RangkaNo"].ToString(); _spk.Pembiayaan = Request.Form["Pembiayaan"].ToString(); _spk.Via = Request.Form["Via"].ToString(); _spk.PercentageBunga = float.Parse(Request.Form["Bunga"].ToString()); _spk.OTRPrice = float.Parse(Request.Form["HargaOnTheRoad"].ToString()); _spk.KaroseriPrice = float.Parse(Request.Form["HargaKaroseri"].ToString()); _spk.TotalPrice = float.Parse(Request.Form["Total"].ToString()); _spk.DP = float.Parse(Request.Form["DP"].ToString()); _spk.TandaJadi = Request.Form["TandaJadi"].ToString(); _spk.Pembayaran = Request.Form["Pembayaran"].ToString(); _spk.TransferVia = Request.Form["TransferVia"].ToString(); _spk.AlamatKirim = Request.Form["AlamatKirim"].ToString(); _spk.City = int.Parse(Request.Form["City"].ToString()); _spk.CreatedDate = DateTime.Now; _spk.CreatedBy = Utilities.GetUserNameLogon((UserAppsModel)Session["UserLogon"]); if (Request.Form["IsKaroseri"].ToString() == "true") { _spk.IsKaroseri = true; } else { _spk.IsKaroseri = false; } if (Request.Form["IsOntheRoad"].ToString() == "true") { _spk.IsOnTR = true; } else { _spk.IsOnTR = false; } if (Request.Form["IsOffTheRoad"].ToString() == "true") { _spk.IsOffTR = true; } else { _spk.IsOffTR = false; } if (Request.Form["IsNoPilihan"].ToString() == "true") { _spk.IsChooseNo = true; } else { _spk.IsChooseNo = false; } _spk.KaroseriDesc = Request.Form["KaroseriDesc"].ToString(); _spk.ChooseNo = Request.Form["NoPilihan"].ToString(); _lsAdditional = JsonConvert.DeserializeObject <List <SPKAdditionalModel> >(Request.Form["Additional"]); foreach (string file in Request.Files) { var fileContent = Request.Files[file]; if (fileContent != null && fileContent.ContentLength > 0) { // get a stream var stream = fileContent.InputStream; var fileName = Path.GetFileName(fileContent.FileName); var reader = new System.IO.BinaryReader(stream); var Content = reader.ReadBytes(fileContent.ContentLength); _lsAttachment.Add(new SPKAttachmentModel { DocType = new MasterBLL().FindByValue("SPK", MyEnums.enumMaster.DocumentType.ToString()), AttachmentName = fileName, Attachment = Content, }); } } int _idocType = new MasterBLL().FindByValue("SPK", MyEnums.enumMaster.DocumentType.ToString()); WorklistModel wrkls = new WorklistModel(); wrkls.Actioner = Request.Form["Action"].ToString(); wrkls.Actor = Utilities.GetEmployeeID((UserAppsModel)Session["UserLogon"]); int result = new SPKBll().Update(_spk, _lsAdditional, _misc, _lsAttachment, _idocType, wrkls, out _errMsg); if (_errMsg != string.Empty) { _status = MyEnums.enumStatus.ERROR.ToString(); } } else { _status = MyEnums.enumStatus.ERROR.ToString(); _errMsg = "Your session Expired"; } return(Json(new { Status = _status, RetId = _retId, ErrMsg = _errMsg }, JsonRequestBehavior.AllowGet)); }
public JsonResult Detail(string id) { SPKHeaderModel _spkModel = new SPKHeaderModel(); _spkModel = new SPKBll().Detail(Convert.ToInt32(id)); return(Json(new { Id = _spkModel.Id , SPKDate = _spkModel.SPKDate.ToString("yyyy-MM-dd") , JanjiSerah = _spkModel.JanjiPenyerahan.ToString("yyyy-MM-dd") , LOTNo = _spkModel.LOTNo , Buyer = _spkModel.Buyer , BuyerAddress = _spkModel.BuyerAddress , KTP = _spkModel.KTP , Phone = _spkModel.Phone , STNKName = _spkModel.STNKName , STNKAddress = _spkModel.STNKAddress , Email = _spkModel.Email , Branch = _spkModel.Branch , Merk = _spkModel.Merk , Warna = _spkModel.Warna , Karoseri = _spkModel.Karoseri , MachineNo = _spkModel.MachineNo , RangkaNo = _spkModel.RangkaNo , Pembiayaan = _spkModel.Pembiayaan , Via = _spkModel.Via , PercentageBunga = _spkModel.PercentageBunga , OTRPrice = _spkModel.OTRPrice , KaroseriPrice = _spkModel.KaroseriPrice , Year = _spkModel.Year , TotalPrice = _spkModel.TotalPrice , DP = _spkModel.DP , TandaJadi = _spkModel.TandaJadi , Pembayaran = _spkModel.Pembayaran , TransferVia = _spkModel.TransferVia , AlamatKirim = _spkModel.AlamatKirim , City = _spkModel.City , IsKaroseri = _spkModel.IsKaroseri , KaroseriDesc = _spkModel.KaroseriDesc , IsOnTR = _spkModel.IsOnTR , IsOffTR = _spkModel.IsOffTR , IsChooseNo = _spkModel.IsChooseNo , PlatNo = _spkModel.ChooseNo , Additional = _spkModel.lsadditional , Attachment = _spkModel.lsspkattachment }, JsonRequestBehavior.AllowGet)); }