public IActionResult UpdateUgovor(ugovor ugovor) { ugovor.Korisnik = null; var pon = _dbContext.ugovor.Include(u => u.rate).FirstOrDefault(p => p.broj == ugovor.broj); if (pon == null) { return(NotFound()); } else { try { foreach (var r in pon.rate) { _dbContext.Remove(r); } _dbContext.SaveChanges(); Helper.CopyPropertiesTo <ugovor, ugovor>(ugovor, pon); partner partner; if (ugovor.partner.sifra == null) { partner = new partner(); partner.naziv = ugovor.kupac_naziv; partner.adresa = ugovor.kupac_adresa; partner.telefon = ugovor.kupac_telefon; partner.broj_lk = ugovor.kupac_broj_lk; partner.maticni_broj = ugovor.kupac_maticni_broj; partner.tip = "F"; pon.kupac_sifra = null; pon.partner = partner; } else { partner = _dbContext.partner.Where(p => p.sifra == ugovor.kupac_sifra).FirstOrDefault(); partner.naziv = ugovor.kupac_naziv; partner.adresa = ugovor.kupac_adresa; partner.telefon = ugovor.kupac_telefon; partner.broj_lk = ugovor.kupac_broj_lk; partner.maticni_broj = ugovor.kupac_maticni_broj; partner.tip = "F"; _dbContext.SaveChanges(); pon.partner = partner; } _dbContext.SaveChanges(); return(Ok(pon)); } catch (Exception ex) { return(BadRequest(ex)); } } }
public static string StampaPotvrdeOPlacanju(ugovor ugovor, int brojRate) { //string dir = Environment.SpecialFolder.MyDocuments + "\\ServisDB\\"; var rata = ugovor.rate.FirstOrDefault(r => r.broj_rate == brojRate); string dir = "C:\\temp"; if (Directory.Exists(dir) == false) { Directory.CreateDirectory(dir); } XLWorkbook doc = new XLWorkbook("PotvrdaOPlacanju.xlsx"); //doc.Worksheets.Add("PRIJAVA"); var sheet = doc.Worksheet(1); sheet.Cells("A9").Value = ugovor.kupac_naziv; sheet.Cells("A9").DataType = XLDataType.Text; sheet.Cells("A10").Value = ugovor.kupac_adresa; sheet.Cells("A10").DataType = XLDataType.Text; sheet.Cells("A11").Value = "LK:" + ugovor.kupac_broj_lk; sheet.Cells("A11").DataType = XLDataType.Text; sheet.Cells("A12").Value = "JMBG:" + ugovor.kupac_maticni_broj; sheet.Cells("A12").DataType = XLDataType.Text; sheet.Cells("A16").Value = sheet.Cell("A16").Value.ToString() .Replace("$DATUM_UPLATE$", rata.datum_placanja.Value.ToString("dd.MM.yyyy.")) .Replace("$BROJ_RATE$", rata.broj_rate.ToString()) .Replace("$UPLACENO$", rata.uplaceno.Value.ToString("N2")) ; sheet.Cells("A16").DataType = XLDataType.Text; sheet.Cells("A17").Value = sheet.Cell("A17").Value.ToString() .Replace("$BROJ_RACUNA$", ugovor.broj_racuna); sheet.Cells("A18").Value = sheet.Cell("A18").Value.ToString() .Replace("$BROJ_UGOVORA$", ugovor.broj); decimal iznosRate = Math.Round((ugovor.iznos_sa_pdv - ugovor.inicijalno_placeno) / ugovor.broj_rata, 2, MidpointRounding.AwayFromZero); sheet.Cells("A20").Value = sheet.Cell("A20").Value.ToString() .Replace("$INICIJALNO_UPLACENO$", ugovor.inicijalno_placeno.ToString("N2")); sheet.Cells("A21").Value = sheet.Cell("A21").Value.ToString() .Replace("$SUMA_UPLATA$", ugovor.suma_uplata.ToString("N2")); sheet.Cells("A22").Value = sheet.Cell("A22").Value.ToString() .Replace("$PREOSTALO_ZA_UPLATU$", ugovor.preostalo_za_uplatu.ToString("N2")); var rate = ugovor.rate.ToList(); int i = 0; foreach (var r in rate.Where(rr => rr.uplaceno != 0)) { sheet.Cells("A" + (57 + i).ToString()).Value = r.broj_rate.ToString() + ". rata - uplaćeno (" + r.datum_placanja.Value.ToString("dd.MM.yyyy") + "): " + r.uplaceno.Value.ToString("N2") + " KM"; i++; } i = 0; foreach (var r in rate.Where(rr => rr.uplaceno == 0)) { sheet.Cells("E" + (57 + i).ToString()).Value = r.broj_rate.ToString() + ". rata - iznos: " + r.iznos.ToString("N2") + " KM"; i++; } string fileName = dir + "\\Ugovor_" + ugovor.broj.Replace("/", "-") + ".xlsx"; if (File.Exists(fileName) == true) { try { File.Delete(fileName); } catch (Exception ex) { return(null); } doc.SaveAs(fileName); } else { doc.SaveAs(fileName); } return(fileName); }
public static string StampaUgovora(ugovor ugovor) { //string dir = Environment.SpecialFolder.MyDocuments + "\\ServisDB\\"; string dir = "C:\\temp"; if (Directory.Exists(dir) == false) { Directory.CreateDirectory(dir); } XLWorkbook doc = new XLWorkbook("Ugovor.xlsx"); //doc.Worksheets.Add("PRIJAVA"); var sheet = doc.Worksheet(1); sheet.Cells("A5").Value = ugovor.kupac_naziv; sheet.Cells("A5").DataType = XLDataType.Text; sheet.Cells("A6").Value = ugovor.kupac_adresa; sheet.Cells("A6").DataType = XLDataType.Text; sheet.Cells("A7").Value = ugovor.kupac_telefon; sheet.Cells("A7").DataType = XLDataType.Text; sheet.Cells("A8").Value = "LK:" + ugovor.kupac_broj_lk; sheet.Cells("A8").DataType = XLDataType.Text; sheet.Cells("A47").Value = sheet.Cell("A47").Value.ToString().Replace("$DATUM$", ugovor.datum.ToString("dd.MM.yyyy")); sheet.Cells("A47").DataType = XLDataType.Text; sheet.Cells("A9").Value = "JMBG:" + ugovor.kupac_maticni_broj; sheet.Cells("A9").DataType = XLDataType.Text; sheet.Cells("A16").Value = sheet.Cell("A16").Value.ToString().Replace("$IZNOS$", ugovor.iznos_sa_pdv.ToString("N2")).Replace("$NAZIV_ARTIKLA$", ugovor.napomena); sheet.Cells("A16").DataType = XLDataType.Text; sheet.Row(16).AdjustToContents(); sheet.Row(16).Height = 30; decimal iznosRate = Math.Round((ugovor.iznos_sa_pdv - ugovor.inicijalno_placeno) / ugovor.broj_rata, 2, MidpointRounding.AwayFromZero); sheet.Cells("A18").Value = sheet.Cell("A18").Value.ToString() .Replace("$UPLACENO$", ugovor.inicijalno_placeno.ToString("N2")) .Replace("$BROJ_RATA$", ugovor.broj_rata.ToString("N0")) .Replace("$IZNOS_RATE$", iznosRate.ToString("N2")); sheet.Cells("A18").DataType = XLDataType.Text; var rate = ugovor.rate.ToList(); for (int i = 0; i < rate.Count; i++) { sheet.Cells("A" + (21 + i).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; sheet.Cells("A" + (21 + i).ToString()).Value = (i + 1).ToString() + ". do " + rate[i].rok_placanja.ToString("dd.MM.yyyy") + " - iznos: " + rate[i].iznos.ToString("N2") + " KM"; } sheet.Cells("A" + (21 + rate.Count + 1).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 1).ToString()).Value = "Član 3."; sheet.Cells("A" + (21 + rate.Count + 1).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Range("A" + (21 + rate.Count + 1).ToString() + ":" + "H" + (21 + rate.Count + 1).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 2).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 2).ToString()).Value = "Kupac može uvijek isplatiti odjednom ostatak dužne cijene, a prodavac je dužan primiti ovu isplatu prije dospijeća. Kupac ima pravo da isplati jednokratno ostatak dugovanja prije datuma dospijeća a prodavac je dužan primiti ovu isplatu bez naknade."; sheet.Range("A" + (21 + rate.Count + 2).ToString() + ":" + "H" + (21 + rate.Count + 2).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 2).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; sheet.Row(21 + rate.Count + 2).Height = 40; sheet.Cells("A" + (21 + rate.Count + 2).ToString()).Style.Alignment.WrapText = true; sheet.Cells("A" + (21 + rate.Count + 4).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 4).ToString()).Value = "Član 4."; sheet.Cells("A" + (21 + rate.Count + 4).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Range("A" + (21 + rate.Count + 4).ToString() + ":" + "H" + (21 + rate.Count + 4).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 5).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 5).ToString()).Value = "U slučaju spora nadležan je sud u Banja Luci."; sheet.Range("A" + (21 + rate.Count + 5).ToString() + ":" + "H" + (21 + rate.Count + 5).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 5).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; sheet.Cells("A" + (21 + rate.Count + 7).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 7).ToString()).Value = "Član 5."; sheet.Cells("A" + (21 + rate.Count + 7).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Range("A" + (21 + rate.Count + 7).ToString() + ":" + "H" + (21 + rate.Count + 7).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 8).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 8).ToString()).Value = "Ovaj ugovor je sačinjen u dva primjerka od kojih svaka strana zadržava po jedan."; sheet.Range("A" + (21 + rate.Count + 8).ToString() + ":" + "H" + (21 + rate.Count + 8).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 8).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; sheet.Cells("A" + (21 + rate.Count + 10).ToString()).DataType = XLDataType.Text; sheet.Cells("A" + (21 + rate.Count + 10).ToString()).Value = "Banja Luka, " + ugovor.datum.ToString("dd.MM.yyyy"); sheet.Range("A" + (21 + rate.Count + 10).ToString() + ":" + "H" + (21 + rate.Count + 10).ToString()).Row(1).Merge(); sheet.Cells("A" + (21 + rate.Count + 10).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; sheet.Cells("B" + (21 + rate.Count + 12).ToString()).DataType = XLDataType.Text; sheet.Cells("B" + (21 + rate.Count + 12).ToString()).Value = "________________________"; sheet.Range("B" + (21 + rate.Count + 12).ToString() + ":" + "C" + (21 + rate.Count + 12).ToString()).Row(1).Merge(); sheet.Cells("B" + (21 + rate.Count + 12).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Cells("F" + (21 + rate.Count + 12).ToString()).DataType = XLDataType.Text; sheet.Cells("F" + (21 + rate.Count + 12).ToString()).Value = "________________________"; sheet.Range("F" + (21 + rate.Count + 12).ToString() + ":" + "G" + (24 + rate.Count + 12).ToString()).Row(1).Merge(); sheet.Cells("F" + (21 + rate.Count + 12).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Cells("B" + (21 + rate.Count + 13).ToString()).DataType = XLDataType.Text; sheet.Cells("B" + (21 + rate.Count + 13).ToString()).Value = "MINT ICT."; sheet.Range("B" + (21 + rate.Count + 13).ToString() + ":" + "C" + (21 + rate.Count + 12).ToString()).Row(1).Merge(); sheet.Cells("B" + (21 + rate.Count + 13).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Cells("F" + (21 + rate.Count + 13).ToString()).DataType = XLDataType.Text; sheet.Cells("F" + (21 + rate.Count + 13).ToString()).Value = "KUPAC"; sheet.Range("F" + (21 + rate.Count + 13).ToString() + ":" + "G" + (24 + rate.Count + 12).ToString()).Row(1).Merge(); sheet.Cells("F" + (21 + rate.Count + 13).ToString()).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; string fileName = dir + "\\Ugovor_" + ugovor.broj.Replace("/", "-") + ".xlsx"; if (File.Exists(fileName) == true) { try { File.Delete(fileName); } catch (Exception ex) { return(null); } doc.SaveAs(fileName); } else { doc.SaveAs(fileName); } return(fileName); }
public IActionResult InsertUgovor(ugovor ugovor) { try { var ugovori = _dbContext.ugovor.Include(p => p.partner).Include(p => p.Korisnik).Where(p => p.datum.Year == DateTime.Now.Year); string maxBroj = null; int year = ugovor.datum.Year; int? broj = null; if (ugovori != null && ugovori.Count() > 0) { maxBroj = ugovori.Max(p => p.broj); int dbroj = int.Parse(maxBroj.Split("/")[0]); broj = dbroj + 1; } else { broj = 1; } ugovor.radnik = User.Identity.Name; ugovor.broj = broj.Value.ToString("D5") + "/" + year.ToString(); ugovor.uplaceno_po_ratama = 0; ugovor.preostalo_za_uplatu = ugovor.iznos_sa_pdv - ugovor.inicijalno_placeno; partner partner; if (ugovor.partner.sifra == null) { partner = new partner(); partner.naziv = ugovor.kupac_naziv; partner.adresa = ugovor.kupac_adresa; partner.telefon = ugovor.kupac_telefon; partner.broj_lk = ugovor.kupac_broj_lk; partner.maticni_broj = ugovor.kupac_maticni_broj; partner.tip = "P"; ugovor.partner = partner; } else { partner = _dbContext.partner.Where(p => p.sifra == ugovor.kupac_sifra).FirstOrDefault(); partner.naziv = ugovor.kupac_naziv; partner.adresa = ugovor.kupac_adresa; partner.telefon = ugovor.kupac_telefon; partner.broj_lk = ugovor.kupac_broj_lk; partner.maticni_broj = ugovor.kupac_maticni_broj; partner.tip = "P"; _dbContext.SaveChanges(); ugovor.partner = partner; } ugovor.status = "E"; _dbContext.ugovor.Add(ugovor); _dbContext.SaveChanges(); ugovor.Korisnik = _dbContext.korisnik.FirstOrDefault(k => k.korisnicko_ime == ugovor.radnik); return(Ok(ugovor)); } catch (Exception ex) { return(BadRequest(ex)); } }