public async Task <ActionResult> DetailsCredito(Int64 InvoiceId) { ProformaInvoiceDTO _customers = new ProformaInvoiceDTO(); if (InvoiceId == 0) { return(await Task.Run(() => View(_customers))); } try { string baseadress = config.Value.urlbase; HttpClient _client = new HttpClient(); _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token")); var result = await _client.GetAsync(baseadress + "api/ProformaInvoice/GetProformaInvoiceById/" + InvoiceId); string valorrespuesta = ""; if (result.IsSuccessStatusCode) { valorrespuesta = await(result.Content.ReadAsStringAsync()); _customers = JsonConvert.DeserializeObject <ProformaInvoiceDTO>(valorrespuesta); } ViewData["customer"] = _customers; ViewData["customerName"] = _customers.CustomerName.ToString(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); throw ex; } return(await Task.Run(() => View(_customers))); }
public async Task <ActionResult <ProformaInvoice> > Insert([FromBody] ProformaInvoiceDTO _ProformaInvoice) { ProformaInvoice _ProformaInvoiceq = new ProformaInvoice(); try { using (var transaction = _context.Database.BeginTransaction()) { try { _context.ProformaInvoice.Add(_ProformaInvoice); //await _context.SaveChangesAsync(); foreach (var item in _ProformaInvoice.ProformaInvoiceLine) { item.ProformaInvoiceId = _ProformaInvoice.ProformaId; _context.ProformaInvoiceLine.Add(item); } _context.Entry(_ProformaInvoiceq).CurrentValues.SetValues((_ProformaInvoice)); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } //_ProformaInvoiceq = _ProformaInvoice; //_context.ProformaInvoice.Add(_ProformaInvoiceq); //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(_ProformaInvoice))); }
public async Task <ActionResult> pvwProformaInvoiceCredito([FromBody] ProformaInvoiceDTO _ProformaId) { ProformaInvoiceDTO _ProformaInvoice = new ProformaInvoiceDTO(); try { string baseadress = config.Value.urlbase; HttpClient _client = new HttpClient(); _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token")); var result = await _client.GetAsync(baseadress + "api/ProformaInvoice/GetProformaInvoiceById/" + _ProformaId.ProformaId); string valorrespuesta = ""; if (result.IsSuccessStatusCode) { valorrespuesta = await(result.Content.ReadAsStringAsync()); _ProformaInvoice = JsonConvert.DeserializeObject <ProformaInvoiceDTO>(valorrespuesta); } if (_ProformaInvoice == null) { _ProformaInvoice = new ProformaInvoiceDTO { ExpirationDate = DateTime.Now.AddDays(30), OrderDate = DateTime.Now, editar = 1 }; } else { _ProformaInvoice.editar = 0; } } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); throw ex; } return(PartialView(_ProformaInvoice)); }
public async Task <ActionResult <ProformaInvoice> > InsertWithInventory([FromBody] ProformaInvoiceDTO _ProformaInvoice) { ProformaInvoice _ProformaInvoiceq = _ProformaInvoice; try { using (var transaction = _context.Database.BeginTransaction()) { try { _context.ProformaInvoice.Add(_ProformaInvoiceq); //await _context.SaveChangesAsync(); foreach (var item in _ProformaInvoice.ProformaInvoiceLine) { item.ProformaInvoiceId = _ProformaInvoice.ProformaId; //KardexViale items2 = new KardexViale(); //items2 = await _context.KardexViale.Where(q => q.ProducId == item.ProductId && q.BranchId == _ProformaInvoice.BranchId).OrderByDescending(o => o.KardexDate).FirstOrDefaultAsync(); //KardexViale kardexViale = items2; //kardexViale.QuantityOut = item.Quantity; //kardexViale.QuantityEntry = 0; //kardexViale.SaldoAnterior = kardexViale.Total; //kardexViale.Total = kardexViale.Total - item.Quantity; //kardexViale.Id = 0; //kardexViale.KardexDate = DateTime.Now; //kardexViale.TypeOperationId = 2; //kardexViale.TypeOperationName = "Salida"; //kardexViale.UsuarioCreacion = _ProformaInvoice.UsuarioCreacion; //kardexViale.BranchId = _ProformaInvoice.BranchId; //kardexViale.TypeOfDocumentId = 1; //kardexViale.TypeOfDocumentName = "Factura al Contado"; //kardexViale.DocumentId = item.ProformaInvoiceId; _context.ProformaInvoiceLine.Add(item); // _context.KardexViale.Add(kardexViale); } await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } 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(_ProformaInvoiceq))); }
public async Task <ActionResult <ProformaInvoice> > Insert([FromBody] ProformaInvoiceDTO _ProformaInvoice) { ProformaInvoice _ProformaInvoiceq = new ProformaInvoice(); try { using (var transaction = _context.Database.BeginTransaction()) { try { _context.ProformaInvoice.Add(_ProformaInvoice); //await _context.SaveChangesAsync(); foreach (var item in _ProformaInvoice.ProformaInvoiceLine) { item.ProformaInvoiceId = _ProformaInvoice.ProformaId; _context.ProformaInvoiceLine.Add(item); } _context.Entry(_ProformaInvoiceq).CurrentValues.SetValues((_ProformaInvoice)); await _context.SaveChangesAsync(); // if(_ProformaInvoice.Identificador!="") var calculo = await _context.InvoiceCalculation.Where(q => q.Identificador == _ProformaInvoice.Identificador).ToListAsync(); calculo.ForEach(q => q.ProformaInvoiceId = _ProformaInvoice.ProformaId); await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = _ProformaInvoice.CustomerId, DocType = "ProformaInvoice", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Insert", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _ProformaInvoice.UsuarioCreacion, UsuarioModificacion = _ProformaInvoice.UsuarioModificacion, UsuarioEjecucion = _ProformaInvoice.UsuarioModificacion, }); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } //_ProformaInvoiceq = _ProformaInvoice; //_context.ProformaInvoice.Add(_ProformaInvoiceq); //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(_ProformaInvoice))); }
public async Task <ActionResult <ProformaInvoice> > InsertWithInventory([FromBody] ProformaInvoiceDTO _ProformaInvoice) { ProformaInvoice _ProformaInvoiceq = _ProformaInvoice; try { using (var transaction = _context.Database.BeginTransaction()) { try { _context.ProformaInvoice.Add(_ProformaInvoiceq); //await _context.SaveChangesAsync(); foreach (var item in _ProformaInvoice.ProformaInvoiceLine) { item.ProformaInvoiceId = _ProformaInvoice.ProformaId; //KardexViale items2 = new KardexViale(); //items2 = await _context.KardexViale.Where(q => q.ProducId == item.ProductId && q.BranchId == _ProformaInvoice.BranchId).OrderByDescending(o => o.KardexDate).FirstOrDefaultAsync(); //KardexViale kardexViale = items2; //kardexViale.QuantityOut = item.Quantity; //kardexViale.QuantityEntry = 0; //kardexViale.SaldoAnterior = kardexViale.Total; //kardexViale.Total = kardexViale.Total - item.Quantity; //kardexViale.Id = 0; //kardexViale.KardexDate = DateTime.Now; //kardexViale.TypeOperationId = 2; //kardexViale.TypeOperationName = "Salida"; //kardexViale.UsuarioCreacion = _ProformaInvoice.UsuarioCreacion; //kardexViale.BranchId = _ProformaInvoice.BranchId; //kardexViale.TypeOfDocumentId = 1; //kardexViale.TypeOfDocumentName = "Factura al Contado"; //kardexViale.DocumentId = item.ProformaInvoiceId; _context.ProformaInvoiceLine.Add(item); // _context.KardexViale.Add(kardexViale); } await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = _ProformaInvoice.CustomerId, DocType = "ProformaInvoice", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Insert", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _ProformaInvoice.UsuarioCreacion, UsuarioModificacion = _ProformaInvoice.UsuarioModificacion, UsuarioEjecucion = _ProformaInvoice.UsuarioModificacion, }); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } 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(_ProformaInvoiceq))); }