public async Task <IActionResult> Edit(string id, [Bind("vendorInvoiceId,invoiceNumber,originalInvoiceNumber,invoiceDate,invoiceReference,dueDate,myCompanyId,vendorId,note,termsAndCondition,subTotal,taxAmount,discount,shipping,grandTotal,isPaid,HasChild,createdAt")] VendorInvoice vendorInvoice) { if (id != vendorInvoice.vendorInvoiceId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(vendorInvoice); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VendorInvoiceExists(vendorInvoice.vendorInvoiceId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["myCompanyId"] = new SelectList(_context.MyCompany, "myCompanyId", "companyName", vendorInvoice.myCompanyId); ViewData["vendorId"] = new SelectList(_context.Vendor, "vendorId", "vendorName", vendorInvoice.vendorId); return(View(vendorInvoice)); }
private bool isInputValid() { if (itxt_InvoiceNo.isEmpty()) { return(itxt_InvoiceNo.isValueError("Invalid Invoice No")); } else if (VendorInvoice.isInvoiceNoExist(_vendorInvoice.ID, itxt_InvoiceNo.ValueText)) { return(itxt_InvoiceNo.isValueError("Invoice No already exists")); } if (_fakturPajak != null) //edit assigned FP { if (itxt_FakturPajak_No.isEmpty()) { return(itxt_FakturPajak_No.isValueError("Please provide No")); } else if (FakturPajak.isNoExist(_fakturPajak.Id, itxt_FakturPajak_No.ValueText)) { return(itxt_FakturPajak_No.isValueError("FP No already exists")); } } else if (!itxt_FakturPajak_No.isEmpty()) //add new FP { if (FakturPajak.isNoExist(null, itxt_FakturPajak_No.ValueText)) { return(itxt_FakturPajak_No.isValueError("FP No already exists")); } } return(true); }
private void gridvendorinvoice_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (Tools.isCorrectColumn(sender, e, typeof(DataGridViewLinkColumn), col_gridvendorinvoice_PayableAmount.Name)) { var form = new Invoices.Payment_Form(typeof(VendorInvoice), new Guid(gridvendorinvoice.Rows[e.RowIndex].Cells[col_gridvendorinvoice_id.Name].Value.ToString())); Tools.displayForm(form); if (form.DialogResult == DialogResult.OK) { populateGridVendorInvoices(); } } else if (Util.isColumnMatch(sender, e, col_gridVendorInvoice_TogglePayment)) { decimal value = Util.wrapNullable <decimal>(Util.getClickedRowValue(sender, e, col_gridVendorInvoice_PaymentAmount)); if (value != 0) { value = 0; } else { value = Util.wrapNullable <decimal>(Util.getClickedRowValue(sender, e, col_gridvendorinvoice_PayableAmount)); } Util.setRowValue(sender, e, col_gridVendorInvoice_PaymentAmount, value); } else if (Util.isColumnMatch(sender, e, col_gridVendorInvoice_PaidAmount)) { VendorInvoicePayments_Form form = (VendorInvoicePayments_Form)Util.displayMDIChild(new VendorInvoicePayments_Form()); form.searchVendorInvoiceNo(Util.getClickedRowValue(sender, e, col_gridvendorinvoice_invoiceno).ToString()); } else if (Util.isColumnMatch(sender, e, col_gridVendorInvoices_Approved)) { VendorInvoice.update_Approved(Util.getClickedRowValue <Guid>(sender, e, col_gridvendorinvoice_id), !Util.getCheckboxValue(sender, e)); populateGridVendorInvoices(); } }
private void setupControls() { Settings.setGeneralSettings(this); Grade.populateDropDownList(cbGrades, false, true); ProductWidth.populateDropDownList(cbProductWidths, false, true); LengthUnit.populateDropDownList(cbLengthUnits, false, true); FabricColor.populateDropDownList(cbColors, false, true); VendorInvoice.populateDropDownList(cbVendorInvoices, true); //set window title switch (_formMode) { case FormMode.New: this.Text = "ADD NEW INVENTORY"; lblCode.Visible = false; txtCode.Visible = false; break; case FormMode.Update: this.Text = "UPDATE INVENTORY"; break; } if (GlobalData.UserAccount.role == Roles.User) { lblBuyPrice.Visible = false; txtBuyPrice.Visible = false; this.Height -= 60; } }
public void populateGridVendorInvoices() { DataView dvw; gridvendorinvoice.AutoGenerateColumns = false; //the line in setupControls() is not working?? if (_startingMode == FormModes.Browse) { dvw = VendorInvoice.get_by_BrowsingForFakturPajak_Vendors_Id((Guid)_BrowsingForFakturPajak_Vendors_Id, chkShowOnlyLast6Months.Checked).DefaultView; } else if (_createVendorInvoicePayment) { dvw = VendorInvoice.get(null, null, (Guid)iddl_Vendors.SelectedValue, chkShowOnlyIncomplete.Checked, chkShowOnlyVendorUsesFakturPajak.Checked, chkShowOnlyLast6Months.Checked, null, null, false).DefaultView; } else { dvw = VendorInvoice.get(null, null, null, chkShowOnlyIncomplete.Checked, chkShowOnlyVendorUsesFakturPajak.Checked, chkShowOnlyLast6Months.Checked, null, null, false).DefaultView; } string[] fieldNames = { VendorInvoice.COL_VendorName, VendorInvoice.COL_VendorName }; dvw.RowFilter = Util.compileQuickSearchFilter(itxt_QuickSearch.ValueText, fieldNames); Util.setGridviewDataSource(gridvendorinvoice, dvw); createVendorInvoicePaymentMode(_createVendorInvoicePayment); calculateGrandTotalPayableAmount(); pbLog.Enabled = gridvendorinvoice.Rows.Count > 0; }
internal static async Task CreateVendorInvoiceRecord(int id, string regNumber, string cHECK, string iNVOICE_NUMBER, DateTime?dATE_PAID, int superServiceOrderId) { Console.WriteLine($"Adding Vendor Invoice Record for {regNumber}"); Trace.WriteLine($"{regNumber}, , Adding Vendor Invoice Record "); using (var context = new JobDbContext(connectionString)) { var vendorInvoice = new VendorInvoice { SuperServiceOrderId = superServiceOrderId, VendorInvoiceNumber = iNVOICE_NUMBER, LastPaidDate = dATE_PAID.GetValueOrDefault(), GPDocNum = "Migration", LastPaidCheckNumber = cHECK, VendorInvoiceDate = dATE_PAID.GetValueOrDefault(DateTime.UtcNow) }; context.VendorInvoice.Add(vendorInvoice); context.SaveChanges(); var piEntity = context.PayableItem.Find(id); piEntity.VendorInvoiceId = vendorInvoice.Id; context.SaveChanges(); } }
public async Task <IActionResult> PutVendorInvoice([FromRoute] int id, [FromBody] VendorInvoice vendorInvoice) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != vendorInvoice.VendorInvoiceId) { return(BadRequest()); } _context.Entry(vendorInvoice).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VendorInvoiceExists(id)) { return(NotFound()); } else { throw; } } return(AcceptedAtAction("GetVendorInvoice", vendorInvoice)); }
private void GridVendorInvoices_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (Util.isColumnMatch(sender, e, col_gridVendorInvoices_removeFakturPajaks_Id)) { VendorInvoice.update_FakturPajaks_Id((Guid)Util.getSelectedRowValue(sender, col_gridvendorinvoice_id), null); populateGridVendorInvoices(true); } }
private void btnAddVendorInvoice_Click(object sender, EventArgs e) { if (Tools.displayForm(new InventoryForm.VendorInvoices_Add_Form())) { VendorInvoice.populateDropDownList(cbVendorInvoices, true); cbVendorInvoices.SelectedIndex = 0; } }
private void btnSubmit_Click(object sender, EventArgs e) { if (isInputValid()) { VendorInvoice.add(itxt_VendorInvoices_No.ValueText, (Guid)iddl_Vendors.SelectedValue); this.DialogResult = DialogResult.OK; this.Close(); } }
public async Task <IActionResult> PostVendorInvoiceLine([FromBody] VendorInvoiceLine vendorInvoiceLine) { Item item = await _context.Item.Include(x => x.tax).SingleOrDefaultAsync(x => x.itemId.Equals(vendorInvoiceLine.itemId)); vendorInvoiceLine.taxId = item.taxId; if (vendorInvoiceLine.vendorInvoiceLineId == string.Empty) { vendorInvoiceLine.vendorInvoiceLineId = Guid.NewGuid().ToString(); if (vendorInvoiceLine.price.Equals(0m)) { vendorInvoiceLine.price = item.price; } vendorInvoiceLine.amount = (decimal)vendorInvoiceLine.quantity * vendorInvoiceLine.price; vendorInvoiceLine.taxAmount = (decimal)(item.tax.taxRate / 100.0) * vendorInvoiceLine.amount; vendorInvoiceLine.totalAmount = vendorInvoiceLine.amount + vendorInvoiceLine.taxAmount; _context.VendorInvoiceLine.Add(vendorInvoiceLine); VendorInvoice vi = await _context.VendorInvoice.Include(x => x.vendorInvoiceLine).SingleOrDefaultAsync(x => x.vendorInvoiceId.Equals(vendorInvoiceLine.vendorInvoiceId)); vi.subTotal = vi.vendorInvoiceLine.Sum(x => x.amount); vi.taxAmount = vi.vendorInvoiceLine.Sum(x => x.taxAmount); vi.grandTotal = vi.subTotal + vi.taxAmount - vi.discount + vi.shipping; _context.VendorInvoice.Update(vi); _context.VendorInvoiceLine.Add(vendorInvoiceLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Add new data success." })); } else { if (vendorInvoiceLine.price.Equals(0m)) { vendorInvoiceLine.price = item.price; } vendorInvoiceLine.amount = (decimal)vendorInvoiceLine.quantity * vendorInvoiceLine.price; vendorInvoiceLine.taxAmount = (decimal)(item.tax.taxRate / 100.0) * vendorInvoiceLine.amount; vendorInvoiceLine.totalAmount = vendorInvoiceLine.amount + vendorInvoiceLine.taxAmount; _context.Update(vendorInvoiceLine); VendorInvoice vi = await _context.VendorInvoice.Include(x => x.vendorInvoiceLine).SingleOrDefaultAsync(x => x.vendorInvoiceId.Equals(vendorInvoiceLine.vendorInvoiceId)); vi.subTotal = vi.vendorInvoiceLine.Sum(x => x.amount); vi.taxAmount = vi.vendorInvoiceLine.Sum(x => x.taxAmount); vi.grandTotal = vi.subTotal + vi.taxAmount - vi.discount + vi.shipping; _context.VendorInvoice.Update(vi); _context.Update(vendorInvoiceLine); await _context.SaveChangesAsync(); return(Json(new { success = true, message = "Edit data success." })); } }
// GET: VendorInvoice/Create public IActionResult Create() { ViewData["myCompanyId"] = new SelectList(_context.MyCompany, "myCompanyId", "companyName"); ViewData["vendorId"] = new SelectList(_context.Vendor, "vendorId", "vendorName"); VendorInvoice obj = new VendorInvoice(); obj.invoiceDate = DateTime.UtcNow.Date; obj.dueDate = obj.invoiceDate.AddMonths(1).Date; return(View(obj)); }
private void populateGridVendorInvoices(bool repopulateGridFakturPajak) { DataTable data = VendorInvoice.get_by_FakturPajaks_Id(selectedRowID()); Util.setGridviewDataSource(gridVendorInvoices, false, false, data); tpVendorInvoices.Text = string.Format("{0}: {1:N2}", TABTITLE_VendorInvoices, Util.compute(data, "SUM", VendorInvoice.COL_DB_Amount, "")); if (repopulateGridFakturPajak) { populateGridViewDataSource(true); } }
private VendorInvoice GetInvoice(VendorInvoice invoice) { var newInvoice = new VendorInvoice { Amount = invoice.Amount, Comments = invoice.Comments, InvoiceDate = invoice.InvoiceDate }; return(newInvoice); }
public static CreateVendorInvoiceResponse ToCreateVendorInvoiceResponse(VendorInvoice entity) { int vendorId = 0; var response = new CreateVendorInvoiceResponse() { SuperServiceName = entity.SuperServiceOrder.SuperService?.SuperServiceName, DisplayId = entity.SuperServiceOrder.DisplayId }; //TODO: FIX ME BY FIXING THE LINQ QUERY>GetJobsForSearchIndexAsync switch (entity.BillFromType.ToUpper()) { case EntityType.ACCOUNT_ENTITY: vendorId = entity.BillFromAccountEntityId.GetValueOrDefault(); response.BillFromType = EntityType.ACCOUNT_ENTITY; response.BillFromId = entity.BillFromAccountEntityId; response.BillFromName = entity.BillFromAccountEntity?.Name; response.VendorAccountingId = entity.BillFromAccountEntity?.AccountingId; response.VendorShortAddress = entity.BillFromAccountEntity.ShortAddress; break; case EntityType.VENDOR: vendorId = entity.BillFromVendorId.GetValueOrDefault(); response.BillFromType = EntityType.VENDOR; response.BillFromId = entity.BillFromVendorId; response.BillFromName = entity.BillFromVendor?.Name; response.VendorAccountingId = entity.BillFromVendor?.Accounting_SI_Code; response.VendorShortAddress = entity.BillFromVendor?.ShortAddress; break; case EntityType.TRANSFEREE: vendorId = entity.BillFromTransfereeId.GetValueOrDefault(); response.BillFromType = EntityType.TRANSFEREE; response.BillFromId = entity.BillFromTransfereeId; response.BillFromName = string.Concat(entity.BillFromTransferee?.FirstName, " ", entity.BillFromTransferee?.LastName); response.VendorAccountingId = entity.BillFromTransferee?.AccountingId.ToString(); response.VendorShortAddress = ToShortAddress(entity.SuperServiceOrder.Job.OriginAddress); break; } response.ServiceOrderId = entity.SuperServiceOrder.Job.ServiceOrder .FirstOrDefault(s => s.SuperServiceOrderId == entity.SuperServiceOrderId && ( s.ServiceId == ServiceId.AIR_JC || s.ServiceId == ServiceId.OCEAN_JC || s.ServiceId == ServiceId.ROAD_JC || s.ServiceId == ServiceId.STORAGE_JC)).Id; return(response); }
public VendorInvoices_Edit_Form(Guid id) { InitializeComponent(); _vendorInvoice = new VendorInvoice(id); if (_vendorInvoice.FakturPajaks_Id != null) { _fakturPajak = new FakturPajak(_vendorInvoice.FakturPajaks_Id); } btnRemoveFakturPajakFromVendorInvoice.Enabled = (_vendorInvoice.FakturPajaks_Id != null); }
public async Task <IActionResult> PostVendorInvoice([FromBody] VendorInvoice vendorInvoice) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Invoices.Add(vendorInvoice); await _context.SaveChangesAsync(); return(CreatedAtAction("GetVendorInvoice", new { id = vendorInvoice.VendorInvoiceId }, vendorInvoice)); }
public async Task <IActionResult> Create([Bind("vendorInvoiceId,invoiceNumber,originalInvoiceNumber,invoiceDate,invoiceReference,dueDate,myCompanyId,vendorId,note,termsAndCondition,subTotal,taxAmount,discount,shipping,grandTotal,isPaid,HasChild,createdAt")] VendorInvoice vendorInvoice) { if (ModelState.IsValid) { _context.Add(vendorInvoice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["myCompanyId"] = new SelectList(_context.MyCompany, "myCompanyId", "companyName", vendorInvoice.myCompanyId); ViewData["vendorId"] = new SelectList(_context.Vendor, "vendorId", "vendorName", vendorInvoice.vendorId); return(View(vendorInvoice)); }
/*******************************************************************************************************/ #region CONSTRUCTOR METHODS public Payment_Form(Type type, Guid id) { InitializeComponent(); if (type == typeof(VendorInvoice)) { _vendorInvoice = new VendorInvoice(id); _paymentMode = PaymentMode.VendorInvoice; } else if (type == typeof(Sale)) { _sale = new Sale(id); _paymentMode = PaymentMode.SaleInvoice; } }
private bool isInputValid() { if (itxt_VendorInvoices_No.isEmpty()) { return(itxt_VendorInvoices_No.isValueError("Invalid Invoice number")); } else if (!iddl_Vendors.isValidSelectedValue()) { return(iddl_Vendors.SelectedValueError("Invalid Vendor")); } else if (VendorInvoice.isInvoiceNoExist(null, itxt_VendorInvoices_No.ValueText)) { return(itxt_VendorInvoices_No.isValueError("Invoice number already exists")); } return(true); }
public async Task <IActionResult> GetVendorInvoiceById(Int64 VendorInvoiceId) { VendorInvoice Items = new VendorInvoice(); try { Items = await _context.VendorInvoice.Where(q => q.VendorInvoiceId == VendorInvoiceId).FirstOrDefaultAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(Items))); }
private void BtnRemoveFakturPajakFromVendorInvoice_Click(object sender, EventArgs e) { if (Util.displayMessageBoxYesNo("Remove FP connection to this Invoice? FP is NOT deleted")) { VendorInvoice.update_FakturPajaks_Id(_vendorInvoice.ID, null); _vendorInvoice = new VendorInvoice(_vendorInvoice.ID); if (_vendorInvoice.FakturPajaks_Id == null) { _fakturPajak = null; } else { _fakturPajak = new FakturPajak(_vendorInvoice.FakturPajaks_Id); } btnRemoveFakturPajakFromVendorInvoice.Enabled = (_vendorInvoice.FakturPajaks_Id != null); populateFakturPajak(); } }
private void btnSubmit_Click(object sender, EventArgs e) { if (isInputValid()) { VendorInvoice.update(_vendorInvoice.ID, (DateTime)idtp_Timestamp.ValueAsStartDateFilter, itxt_InvoiceNo.ValueText, in_Amount.ValueDecimal, in_TOP.ValueInt, itxt_Notes.ValueText); if (_fakturPajak != null) //edit assigned FP { FakturPajak.update(_fakturPajak.Id, (DateTime)idtp_Timestamp.ValueAsStartDateFilter, null, _vendorInvoice.Vendors_Id, itxt_FakturPajak_No.ValueText, in_FakturPajak_DPP.ValueDecimal, in_FakturPajak_PPN.ValueDecimal, itxt_FakturPajak_Notes.ValueText); } else if (!itxt_FakturPajak_No.isEmpty()) //add new FP { Guid FakturPajaks_Id = FakturPajak.add((DateTime)idtp_Timestamp.ValueAsStartDateFilter, null, _vendorInvoice.Vendors_Id, itxt_FakturPajak_No.ValueText, in_FakturPajak_DPP.ValueDecimal, in_FakturPajak_PPN.ValueDecimal, itxt_FakturPajak_Notes.ValueText); VendorInvoice.update_FakturPajaks_Id(_vendorInvoice.ID, FakturPajaks_Id); } this.Close(); } }
public async Task <IActionResult> Delete([FromBody] VendorInvoice _VendorInvoice) { VendorInvoice _VendorInvoiceq = new VendorInvoice(); try { _VendorInvoiceq = _context.VendorInvoice .Where(x => x.VendorInvoiceId == (Int64)_VendorInvoice.VendorInvoiceId) .FirstOrDefault(); _context.VendorInvoice.Remove(_VendorInvoiceq); await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}"))); } return(await Task.Run(() => Ok(_VendorInvoiceq))); }
private void BtnAddVendorInvoices_Click(object sender, EventArgs e) { if (_lastSelectedFakturPajaks_Id == null) { Util.displayMessageBoxError("Double click faktur pajak"); } else { if (!Util.selectedItemIsNotNull(dgv, col_dgv_Vendors_Id)) { Util.displayMessageBoxError("Invalid Vendor"); } else { InventoryForm.VendorInvoices_Form form = new InventoryForm.VendorInvoices_Form(FormModes.Browse, (Guid)Util.getSelectedRowValue(dgv, col_dgv_Vendors_Id)); Util.displayForm(null, form); if (form.DialogResult == DialogResult.OK) { VendorInvoice.update_FakturPajaks_Id(form.BrowsedItemSelectionId, _lastSelectedFakturPajaks_Id); populateGridVendorInvoices(true); } } } }
public async Task <ActionResult <VendorInvoice> > Update([FromBody] VendorInvoice _VendorInvoice) { VendorInvoice _VendorInvoiceq = _VendorInvoice; try { _VendorInvoiceq = await(from c in _context.VendorInvoice .Where(q => q.VendorInvoiceId == _VendorInvoice.VendorInvoiceId) select c ).FirstOrDefaultAsync(); _context.Entry(_VendorInvoiceq).CurrentValues.SetValues((_VendorInvoice)); //_context.VendorInvoice.Update(_VendorInvoiceq); await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}"))); } return(await Task.Run(() => Ok(_VendorInvoiceq))); }
public async Task <ActionResult <VendorInvoice> > Insert([FromBody] VendorInvoice pVendorInvoice) { VendorInvoice _VendorInvoiceq = new VendorInvoice(); _VendorInvoiceq = pVendorInvoice; using (var transaction = _context.Database.BeginTransaction()) { try { _VendorInvoiceq.PurchaseOrderId = null; //_VendorInvoiceq.Sucursal = await _context.Branch.Where(q => q.BranchId == _VendorInvoiceq.BranchId).Select(q => q.BranchCode).FirstOrDefaultAsync(); Numalet let; let = new Numalet(); let.SeparadorDecimalSalida = "Lempiras"; let.MascaraSalidaDecimal = "00/100 "; let.ApocoparUnoParteEntera = true; _VendorInvoiceq.TotalLetras = let.ToCustomCardinal((_VendorInvoiceq.Total)).ToUpper(); _context.VendorInvoice.Add(_VendorInvoiceq); //await _context.SaveChangesAsync(); JournalEntry _je = new JournalEntry { Date = _VendorInvoiceq.VendorInvoiceDate, Memo = "Factura de Compra a Proveedores", DatePosted = _VendorInvoiceq.VendorInvoiceDate, ModifiedDate = DateTime.Now, CreatedDate = DateTime.Now, ModifiedUser = _VendorInvoiceq.UsuarioModificacion, CreatedUser = _VendorInvoiceq.UsuarioCreacion, DocumentId = _VendorInvoiceq.VendorInvoiceId, }; Accounting account = await _context.Accounting.Where(acc => acc.AccountId == _VendorInvoiceq.AccountId).FirstOrDefaultAsync(); _je.JournalEntryLines.Add(new JournalEntryLine { AccountId = Convert.ToInt32(_VendorInvoiceq.AccountId), //Description = _VendorInvoiceq.Account.AccountName, Description = account.AccountName, Credit = 0, Debit = _VendorInvoiceq.Total, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now, CreatedUser = _VendorInvoiceq.UsuarioCreacion, ModifiedUser = _VendorInvoiceq.UsuarioModificacion, Memo = "", }); foreach (var item in _VendorInvoiceq.VendorInvoiceLine) { account = await _context.Accounting.Where(acc => acc.AccountId == _VendorInvoiceq.AccountId).FirstOrDefaultAsync(); item.VendorInvoiceId = _VendorInvoiceq.VendorInvoiceId; _context.VendorInvoiceLine.Add(item); _je.JournalEntryLines.Add(new JournalEntryLine { AccountId = Convert.ToInt32(item.AccountId), Description = account.AccountName, Credit = item.Total, Debit = 0, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now, CreatedUser = _VendorInvoiceq.UsuarioCreacion, ModifiedUser = _VendorInvoiceq.UsuarioModificacion, Memo = "", }); } await _context.SaveChangesAsync(); double sumacreditos = 0, sumadebitos = 0; if (sumacreditos != sumadebitos) { transaction.Rollback(); _logger.LogError($"Ocurrio un error: No coinciden debitos :{sumadebitos} y creditos{sumacreditos}"); return(BadRequest($"Ocurrio un error: No coinciden debitos :{sumadebitos} y creditos{sumacreditos}")); } _je.TotalCredit = sumacreditos; _je.TotalDebit = sumadebitos; _context.JournalEntry.Add(_je); await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = 4, ///////Falta definir los Id de las Operaciones DocType = "VendorInvoice", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_VendorInvoiceq, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_VendorInvoiceq, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Insert", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _VendorInvoiceq.UsuarioCreacion, UsuarioModificacion = _VendorInvoiceq.UsuarioModificacion, UsuarioEjecucion = _VendorInvoiceq.UsuarioModificacion, }); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); _logger.LogError($"Ocurrio un error: { ex.ToString() }"); throw ex; } } return(await Task.Run(() => Ok(_VendorInvoiceq))); }