public async Task <string> IdentitasCustomerPdf(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); CaCustomerDetail customerDetail = creditApproval.CaCustomerDetails.FirstOrDefault(); string path = Path.Combine(ConstantValue.FilePath.TemplatePath, ConstantValue.FilePath.IdentitasCustomerPdf); byte[] fileByte = File.ReadAllBytes(path); using (MemoryStream memory = new MemoryStream()) { _pdfService.CreateDocumentA4FromMemoryStream(memory); _pdfService.ReadPdf(memory, fileByte); _pdfService.SetPdfField("JenisIndustri", customerDetail.JenisIndustri); _pdfService.SetPdfField("Keterlambatan", customerDetail.Keterlambatan); _pdfService.SetPdfField("Restrukturisasi", customerDetail.Restrukturisasi); _pdfService.SetPdfField("FasilitasKredit", customerDetail.FasilitasKredit); _pdfService.SetPdfField("LamaKerjaSama", customerDetail.LamaKerjaSama); _pdfService.SetPdfField("VendorPemasuk", customerDetail.VendorPemasuk); _pdfService.SetPdfField("PosisiTawar", customerDetail.PosisiTawar); _pdfService.SetPdfField("BadanUsaha", customerDetail.BadanUsaha); _pdfService.SetPdfField("Affiliasi", customerDetail.Affiliasi); _pdfService.SetPdfField("KondisiIndustri", customerDetail.KondisiIndustri); _pdfService.SetPdfField("OpiniAudit", customerDetail.OpiniAudit); _pdfService.SetPdfField("AuditKap", customerDetail.AuditKap); _pdfService.ClosePdf(); return(Convert.ToBase64String(memory.ToArray())); } }
public Task <CreditApproval> Update(int id, CreditApproval data) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { //creditApproval.TicketNumber = data.TicketNumber; creditApproval.MailNumber = data.MailNumber; creditApproval.CustomerId = data.CustomerId; creditApproval.TempoStart = data.TempoStart; creditApproval.TempoEnd = data.TempoEnd; creditApproval.LongTempo = data.LongTempo; creditApproval.Volume = data.Volume; creditApproval.Units = data.Units; creditApproval.PeriodeVolume = data.PeriodeVolume; creditApproval.SubmissionPeriod = data.SubmissionPeriod; creditApproval.TransactionValue = data.TransactionValue; creditApproval.CreditLimit = data.CreditLimit; creditApproval.Payment = data.Payment; creditApproval.Guarantee = data.Guarantee; creditApproval.TermsOfDelivery = data.TermsOfDelivery; creditApproval.Currency = data.Currency; creditApproval.TransactionValueEstimatedPeriod = creditApproval.TransactionValue; _db.SaveChanges(); } return creditApproval; })); }
public async Task <IHttpActionResult> Post([FromBody] CreditApprovalRequest data) { try { CreditApproval dataCreditApproval = data.GetObject(); dataCreditApproval.CreatedBy = GetUserAuth().Id; dataCreditApproval.TicketNumber = GetUserAuth().Id.ToString() + ((Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds).ToString(); CreditApproval creditApproval = await _creditApprovalRepository.Create(dataCreditApproval); List <TrCaProduct> trCaProducts = new List <TrCaProduct>(); foreach (int item in data.Products) { TrCaProduct newTrCaProduct = new TrCaProduct(); newTrCaProduct.CreditApprovalId = creditApproval.Id; newTrCaProduct.ProductId = item; trCaProducts.Add(newTrCaProduct); } await _trCaProductRepository.MultipleCreate(trCaProducts); return(new HttpJsonApiResult <CreditApprovalModel>( new CreditApprovalModel(creditApproval), Request, HttpStatusCode.Created)); } catch (Exception) { return(new HttpJsonApiResult <string>( "Internal Server Error", Request, HttpStatusCode.InternalServerError)); } }
public async Task <IHttpActionResult> Approve(int id, [FromBody] ActionNoteRequest actionNoteRequest) { try { EUserRole userRole = GetUserAuth().UserRole; UserModel getUser = GetUserAuth(); EStatusCredit statusCredit; if (userRole == EUserRole.User) { statusCredit = EStatusCredit.AR; } else if (userRole == EUserRole.AR) { statusCredit = EStatusCredit.CashBank; } else if (userRole == EUserRole.CashBank) { statusCredit = EStatusCredit.FBS; } else if (userRole == EUserRole.FBS) { statusCredit = EStatusCredit.ManagementRisk; } else if (userRole == EUserRole.ManagementRisk) { statusCredit = EStatusCredit.KomiteCredit; } else { statusCredit = EStatusCredit.Completed; } CreditApproval creditApproval = await _creditApprovalRepository.UpdateStatus(id, statusCredit, true); if (creditApproval == null) { return(new HttpJsonApiResult <string>("Not Found", Request, HttpStatusCode.NotFound)); } TrCaActionNote trCaActionNote = await _trCaActionNoteRepository.Create(new TrCaActionNote() { CreditApprovalId = creditApproval.Id, ActionNote = actionNoteRequest.ActionNote, ActionType = 1, ActionBy = getUser.Id }); //send email here return(new HttpJsonApiResult <CreditApprovalModel>(new CreditApprovalModel(creditApproval), Request, HttpStatusCode.OK)); } catch (Exception) { return(new HttpJsonApiResult <string>( "Internal Server Error", Request, HttpStatusCode.InternalServerError)); } }
public async Task <ActionResult> SignedCredit(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.Title = "Signed Credit"; return(View("~/Views/Credit/SignedCreditForm.cshtml")); }
public void SucceededGivesValidCreditLimitIfAttemptAboveMinimum() { // Arrange, Act CreditApproval creditApproval = CreditApproval.Succeeded(CreditApproval.MinCreditLimit + 10M); // Assert Assert.Greater(creditApproval.CreditLimit, CreditApproval.MinCreditLimit); }
public async Task <ActionResult> EditCashBank(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.Title = "Edit Cash Bank"; return(View("~/Views/Credit/CashBankForm.cshtml")); }
public void FailedActuallyFails() { // Arrange, Act CreditApproval creditApproval = CreditApproval.Failed(); // Assert Assert.IsFalse(creditApproval.Approved); }
public void SucceededGivesValidCreditLimitIfAttemptBelowMinimum() { // Arrange, Act CreditApproval creditApproval = CreditApproval.Succeeded(0M); // Assert Assert.AreEqual(CreditApproval.MinCreditLimit, creditApproval.CreditLimit); }
public void FailedGivesZeroCreditLimit() { // Arrange, Act CreditApproval creditApproval = CreditApproval.Failed(); // Assert Assert.Zero(creditApproval.CreditLimit); }
public Task <CreditApproval> Create(CreditApproval data) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Add(data); _db.SaveChanges(); return creditApproval; })); }
public async Task <string> PdfCreditScoring(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); string path = Path.Combine(ConstantValue.FilePath.CreditScoringDocBasePath, creditApproval.CreditScoringDoc); byte[] fileByte = File.ReadAllBytes(path); return(Convert.ToBase64String(fileByte)); }
public async Task <string> PdfMemoPengantar(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); string path = Path.Combine(ConstantValue.FilePath.MemoPengantarBasePath, creditApproval.IntroductionToMemo); byte[] fileByte = File.ReadAllBytes(path); return(Convert.ToBase64String(fileByte)); }
public void SucceededActuallySucceeds() { // Arrange, Act CreditApproval creditApproval = CreditApproval.Succeeded(CreditApproval.MinCreditLimit); // Assert Assert.IsTrue(creditApproval.Approved); }
public async Task <ActionResult> FbsEntry(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.Note = new TrCaNote(); ViewBag.Title = "Create Fbs Entry"; ViewBag.Url = Url.RouteUrl("DefaultApi", new { httproute = "", controller = "TrCaNote", action = "Create" }); ViewBag.FormType = "POST"; return(View("~/Views/Credit/FbsEntryForm.cshtml")); }
public async Task <string> CreditApprovalPdf(int id, [FromBody] CreditApprovalPdfRequest pdfRequest) { string titleCredit = "CREDIT APPROVAL"; string jaminan = "Tanpa Jaminan"; string sanksi = "Tidak"; Signature signature = await _signatureRepository.GetOne(pdfRequest.TtdId); CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); string path = Path.Combine(ConstantValue.FilePath.TemplatePath, ConstantValue.FilePath.CreditApprovalPdf); string products = string.Join(", ", creditApproval.TrCaProducts.Select(e => e.Product.MaterialName).ToArray()); byte[] fileByte = File.ReadAllBytes(path); if (creditApproval.Guarantee != ConstantValue.BentukJaminan.Option1) { titleCredit = "CREDIT APPROVAL (DENGAN JAMINAN)"; jaminan = "Dengan Jaminan"; } if (creditApproval.FlagFine) { sanksi = "Ya"; } using (MemoryStream memory = new MemoryStream()) { _pdfService.CreateDocumentA4FromMemoryStream(memory); _pdfService.ReadPdf(memory, fileByte); _pdfService.SetPdfField("Title", titleCredit); _pdfService.SetPdfField("NomorTanggal", string.Format("Nomor {0} Tgl. {1}", creditApproval.MailNumber, creditApproval.CreatedAt.ToString("dd-MM-yyyy"))); _pdfService.SetPdfField("NamaPerusahaan", creditApproval.Customer.Name); _pdfService.SetPdfField("CustomerID", creditApproval.Customer.CustomerNo); _pdfService.SetPdfField("Alamat", creditApproval.Customer.Address); _pdfService.SetPdfField("Jaminan", string.Format("Untuk diberikan Fasilitas Penjualan Non Tunai {0} atas pembelian produk dari PT Pertamina(Persero) dengan ketentuan sebagai berikut :", jaminan)); _pdfService.SetPdfField("JangkaWaktu", string.Format("{0} s.d {1}", creditApproval.TempoStart.ToString("dd-MM-yyyy"), creditApproval.TempoEnd.ToString("dd-MM-yyyy"))); _pdfService.SetPdfField("Produk", products); _pdfService.SetPdfField("PerkiraanVolume", string.Format("{0} {1} per {2}", creditApproval.Volume, creditApproval.Units, creditApproval.PeriodeVolume)); _pdfService.SetPdfField("PerkiraanNilai", string.Format("{0} {1} / {2}", creditApproval.Currency, creditApproval.TransactionValue, creditApproval.PeriodeVolume)); _pdfService.SetPdfField("CreditLimit", string.Format("{0} {1}", creditApproval.Currency, creditApproval.CreditLimit)); _pdfService.SetPdfField("MasaPerkiraanNilai", creditApproval.TransactionValueEstimatedPeriod); _pdfService.SetPdfField("MekanismePembayaran", string.Format("Melalui {0}", creditApproval.Payment)); _pdfService.SetPdfField("BentukJaminan", string.Format("Melalui {0}", creditApproval.Guarantee)); _pdfService.SetPdfField("Sanksi", sanksi); _pdfService.SetPdfField("SyaratPenyerahan", creditApproval.TermsOfDelivery); if (signature != null) { _pdfService.SetPdfField("Posisi1", signature.Position1); _pdfService.SetPdfField("Posisi2", signature.Position2); _pdfService.SetPdfField("Nama1", signature.Name1); _pdfService.SetPdfField("Nama2", signature.Name2); } _pdfService.ClosePdf(); return(Convert.ToBase64String(memory.ToArray())); } }
public async Task <ActionResult> CreateCustomerDetail(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.CustomerDetail = new CaCustomerDetail(); ViewBag.Title = "Customer Detail"; ViewBag.FormType = "POST"; ViewBag.Url = Url.RouteUrl("DefaultApi", new { httproute = "", controller = "CustomerDetail", action = "Create" }); return(View("~/Views/Credit/CustomerDetailForm.cshtml")); }
public async Task <ActionResult> CreditApprovalPdf(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); Signature signature = _signatureRepository.GetAll().Where(e => e.DocumentType == "CA").FirstOrDefault(); List <string> products = creditApproval.TrCaProducts.Select(e => e.Product.MaterialName).ToList(); ViewBag.Kredit = creditApproval; ViewBag.Produk = string.Join(", ", products.ToArray()); ViewBag.Ttd = signature; return(new ViewAsPdf("~/Views/Pdf/creditApproval.cshtml")); }
public Task AddCreditScoring(int id, string creditScoring) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { creditApproval.CreditScoringDoc = creditScoring; _db.SaveChanges(); } })); }
public Task <CreditApproval> Delete(int id) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { _db.CreditApprovals.Remove(creditApproval); _db.SaveChanges(); } return creditApproval; })); }
public Task <CreditApproval> AddCreditSign(int id, string creditSign) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { creditApproval.CreditApprovalDoc = creditSign; _db.SaveChanges(); } return creditApproval; })); }
public async Task <ActionResult> Edit(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); List <int> products = creditApproval.TrCaProducts.Select(e => e.ProductId).ToList(); ViewBag.Credit = creditApproval; ViewBag.Products = products.ToArray(); ViewBag.Id = id; ViewBag.Url = Url.RouteUrl("DefaultApi", new { httproute = "", controller = "CreditApproval", action = "Update", id = id }); ViewBag.FormType = "PATCH"; ViewBag.Title = "Edit Kredit"; return(View("~/Views/Credit/Form.cshtml")); }
public async Task <ActionResult> Detail(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); List <string> products = creditApproval.TrCaProducts.Select(e => e.Product.MaterialName).ToList(); ViewBag.Credit = creditApproval; //ViewBag.QuantitativeAspects = creditApproval.QuantitativeAspects.FirstOrDefault(); ViewBag.CustomerDetail = creditApproval.CaCustomerDetails.Count(); ViewBag.CustomerDetailObj = creditApproval.CaCustomerDetails.FirstOrDefault(); ViewBag.Nota = creditApproval.TrCaNotes.FirstOrDefault(); ViewBag.Products = string.Join(", ", products.ToArray()); return(View()); }
public Task AddBankKonfirmasiDoc(int id, string bankKonfirmasi) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { if (bankKonfirmasi != null) { creditApproval.BankConfirmationDoc = bankKonfirmasi; } _db.SaveChanges(); } })); }
public Task AddDocPml(int id, string docPml) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { if (docPml != null) { creditApproval.DocPml = docPml; } _db.SaveChanges(); } })); }
public Task AddBankGaransi(int id, string bankGaransi) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { if (bankGaransi != null) { creditApproval.BankGuaranteeDoc = bankGaransi; } _db.SaveChanges(); } })); }
public Task AddIntroductionMemo(int id, string introductionMemo) { return(Task.Run(() => { CreditApproval creditApproval = _db.CreditApprovals.Find(id); if (creditApproval != null) { if (introductionMemo != null) { creditApproval.IntroductionToMemo = introductionMemo; } _db.SaveChanges(); } })); }
public async Task <ActionResult> EditFbsEntry(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.Note = creditApproval.TrCaNotes.FirstOrDefault(); ViewBag.Title = "Edit Fbs Entry"; ViewBag.Url = Url.RouteUrl("DefaultApi", new { httproute = "", controller = "TrCaNote", action = "Update", id = creditApproval.Id }); ViewBag.FormType = "PATCH"; return(View("~/Views/Credit/FbsEntryForm.cshtml")); }
public async Task <ActionResult> EditCustomerDetail(int id) { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); ViewBag.Credit = creditApproval; ViewBag.CustomerDetail = creditApproval.CaCustomerDetails; ViewBag.Title = "Edit Customer Detail"; ViewBag.FormType = "PATCH"; ViewBag.Url = Url.RouteUrl("DefaultApi", new { httproute = "", controller = "CustomerDetail", action = "Update", id = creditApproval.CaCustomerDetails.FirstOrDefault().Id }); return(View("~/Views/Credit/CustomerDetailForm.cshtml")); }
public async Task <IHttpActionResult> Get(int id) { try { CreditApproval creditApproval = await _creditApprovalRepository.GetOne(id); if (creditApproval == null) { return(new HttpJsonApiResult <string>("Not Found", Request, HttpStatusCode.NotFound)); } return(new HttpJsonApiResult <CreditApprovalModel>( new CreditApprovalModel(creditApproval), Request, HttpStatusCode.OK)); } catch (Exception) { return(new HttpJsonApiResult <string>( "Internal Server Error", Request, HttpStatusCode.InternalServerError)); } }