public async Task <IActionResult> GetRecibosCertificadoById(Int64 IdReciboCertificado) { RecibosCertificado Items = new RecibosCertificado(); try { Items = await _context.RecibosCertificado.Where(q => q.IdReciboCertificado == IdReciboCertificado).FirstOrDefaultAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(Items))); }
public async Task <ActionResult <RecibosCertificado> > Insert([FromBody] RecibosCertificado _RecibosCertificado) { RecibosCertificado _RecibosCertificadoq = new RecibosCertificado(); try { _RecibosCertificadoq = _RecibosCertificado; _context.RecibosCertificado.Add(_RecibosCertificadoq); await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_RecibosCertificadoq))); }
public async Task <IActionResult> Delete([FromBody] RecibosCertificado _RecibosCertificado) { RecibosCertificado _RecibosCertificadoq = new RecibosCertificado(); try { _RecibosCertificadoq = _context.RecibosCertificado .Where(x => x.IdReciboCertificado == (Int64)_RecibosCertificado.IdReciboCertificado) .FirstOrDefault(); _context.RecibosCertificado.Remove(_RecibosCertificadoq); await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_RecibosCertificadoq))); }
public async Task <ActionResult <RecibosCertificado> > Update([FromBody] RecibosCertificado _RecibosCertificado) { RecibosCertificado _RecibosCertificadoq = _RecibosCertificado; try { _RecibosCertificadoq = await(from c in _context.RecibosCertificado .Where(q => q.IdReciboCertificado == _RecibosCertificado.IdReciboCertificado) select c ).FirstOrDefaultAsync(); _context.Entry(_RecibosCertificadoq).CurrentValues.SetValues((_RecibosCertificado)); //_context.RecibosCertificado.Update(_RecibosCertificadoq); await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_RecibosCertificadoq))); }
public async Task <ActionResult <CertificadoDeposito> > Insert([FromBody] CertificadoDepositoDTO _CertificadoDeposito) { CertificadoDeposito _CertificadoDepositoq = new CertificadoDeposito(); SolicitudCertificadoDeposito _SolicitudCertificado = new SolicitudCertificadoDeposito(); try { using (var transaction = _context.Database.BeginTransaction()) { try { //Solicitud de certificado // _SolicitudCertificado = mapper.Map<SolicitudCertificadoDeposito>(_CertificadoDeposito); _SolicitudCertificado = new SolicitudCertificadoDeposito { CurrencyId = _CertificadoDeposito.CurrencyId, CurrencyName = _CertificadoDeposito.CurrencyName, BankName = _CertificadoDeposito.BankName, BankId = _CertificadoDeposito.BankId, Almacenaje = _CertificadoDeposito.Almacenaje, CustomerId = _CertificadoDeposito.CustomerId, CustomerName = _CertificadoDeposito.CustomerName, Direccion = _CertificadoDeposito.Direccion, EmpresaSeguro = _CertificadoDeposito.EmpresaSeguro, Estado = _CertificadoDeposito.Estado, FechaCertificado = _CertificadoDeposito.FechaCertificado, FechaFirma = _CertificadoDeposito.FechaFirma, FechaInicioComputo = _CertificadoDeposito.FechaInicioComputo, FechaVencimientoDeposito = _CertificadoDeposito.FechaVencimientoDeposito, FechaVencimiento = _CertificadoDeposito.FechaVencimiento, NoCD = _CertificadoDeposito.NoCD, FechaPagoBanco = _CertificadoDeposito.FechaPagoBanco, NombreEmpresa = _CertificadoDeposito.NombreEmpresa, LugarFirma = _CertificadoDeposito.LugarFirma, MontoGarantia = _CertificadoDeposito.MontoGarantia, NoPoliza = _CertificadoDeposito.NoPoliza, NombrePrestatario = _CertificadoDeposito.NombrePrestatario, NoTraslado = _CertificadoDeposito.NoTraslado, OtrosCargos = _CertificadoDeposito.OtrosCargos, PorcentajeInteresesInsolutos = _CertificadoDeposito.PorcentajeInteresesInsolutos, Seguro = _CertificadoDeposito.Seguro, ServicioId = _CertificadoDeposito.ServicioId, ServicioName = _CertificadoDeposito.ServicioName, Quantitysum = _CertificadoDeposito.Quantitysum, Total = _CertificadoDeposito.Total, SujetasAPago = _CertificadoDeposito.SujetasAPago, WarehouseId = _CertificadoDeposito.WarehouseId, WarehouseName = _CertificadoDeposito.WarehouseName, Aduana = _CertificadoDeposito.Aduana, ManifiestoNo = _CertificadoDeposito.ManifiestoNo, }; _context.SolicitudCertificadoDeposito.Add(_SolicitudCertificado); foreach (var item in _CertificadoDeposito._CertificadoLine) { SolicitudCertificadoLine _SolicitudCertificadoLine = new SolicitudCertificadoLine { Amount = item.Amount, Description = item.Description, // IdCD = item.IdCD, Price = item.Price, Quantity = item.Quantity, SubProductId = item.SubProductId, SubProductName = item.SubProductName, TotalCantidad = item.TotalCantidad, UnitMeasureId = item.UnitMeasureId, UnitMeasurName = item.UnitMeasurName, }; // _SolicitudCertificadoLine = mapper.Map<SolicitudCertificadoLine>(item); _SolicitudCertificadoLine.IdSCD = _SolicitudCertificado.IdSCD; _context.SolicitudCertificadoLine.Add(_SolicitudCertificadoLine); } await _context.SaveChangesAsync(); ///////////////////////////////////////////////////////////////////////// //////////////////Certificado//////////////////////////////////////////// _CertificadoDepositoq = _CertificadoDeposito; _context.CertificadoDeposito.Add(_CertificadoDepositoq); // await _context.SaveChangesAsync(); foreach (var item in _CertificadoDeposito._CertificadoLine) { item.IdCD = _CertificadoDepositoq.IdCD; _context.CertificadoLine.Add(item); //Kardex _kardexmax = await (from kdx in _context.Kardex // .Where(q => q.CustomerId == _CertificadoDepositoq.CustomerId) // from kdxline in _context.KardexLine // .Where(q => q.KardexId == kdx.KardexId) // .Where(o => o.SubProducId == item.SubProductId) // .OrderByDescending(o => o.DocumentDate).Take(1) // select kdx).FirstOrDefaultAsync(); Kardex _kardexmax = await(from c in _context.Kardex .OrderByDescending(q => q.DocumentDate) // .Take(1) join d in _context.KardexLine on c.KardexId equals d.KardexId where c.CustomerId == _CertificadoDepositoq.CustomerId && d.SubProducId == item.SubProductId && c.DocumentName == "CD" select c ) .FirstOrDefaultAsync(); if (_kardexmax == null) { _kardexmax = new Kardex(); } KardexLine _KardexLine = await _context.KardexLine .Where(q => q.KardexId == _kardexmax.KardexId) .Where(q => q.SubProducId == item.SubProductId) .OrderByDescending(q => q.KardexLineId) .Take(1) .FirstOrDefaultAsync(); if (_KardexLine == null) { _KardexLine = new KardexLine(); } SubProduct _subproduct = await(from c in _context.SubProduct .Where(q => q.SubproductId == item.SubProductId) select c ).FirstOrDefaultAsync(); // _context.GoodsReceivedLine.Add(item); item.Amount = item.Quantity + _KardexLine.Total; _CertificadoDeposito.Kardex._KardexLine.Add(new KardexLine { DocumentDate = _CertificadoDeposito.FechaCertificado, // ProducId = _CertificadoDeposito., // ProductName = _GoodsReceivedq.ProductName, SubProducId = item.SubProductId, SubProductName = item.SubProductName, QuantityEntry = item.Quantity, QuantityOut = 0, QuantityEntryBags = item.TotalCantidad, BranchId = _CertificadoDeposito.BranchId, BranchName = _CertificadoDeposito.BranchName, WareHouseId = _CertificadoDeposito.WarehouseId, WareHouseName = _CertificadoDeposito.WarehouseName, UnitOfMeasureId = item.UnitMeasureId, UnitOfMeasureName = item.UnitMeasurName, TypeOperationId = 1, TypeOperationName = "Entrada", // Total = item.Amount, //TotalBags = item.QuantitySacos + _KardexLine.TotalBags, //QuantityEntryCD = item.Quantity / (1 + _subproduct.Merma), QuantityEntryCD = item.Quantity, TotalCD = _KardexLine.TotalCD + (item.Quantity), }); } await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = _CertificadoDeposito.IdCD, DocType = "CertificadoDeposito", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_CertificadoDeposito, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_CertificadoDeposito, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Insertar", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _CertificadoDeposito.UsuarioCreacion, UsuarioModificacion = _CertificadoDeposito.UsuarioModificacion, UsuarioEjecucion = _CertificadoDeposito.UsuarioModificacion, }); await _context.SaveChangesAsync(); foreach (var item in _CertificadoDeposito.RecibosAsociados) { // GoodsReceivedLine _gr = await _context.GoodsReceivedLine.Where(q => q.GoodsReceivedId == item).FirstOrDefaultAsync(); RecibosCertificado _recibocertificado = new RecibosCertificado { IdCD = _CertificadoDepositoq.IdCD, IdRecibo = item, productocantidadbultos = _CertificadoDeposito.Quantitysum, productorecibolempiras = _CertificadoDeposito.Total, // WareHouseId = _gr.WareHouseId, // WareHouseName = _gr.WareHouseName, // UnitMeasureId =_CertificadoDeposito. }; _context.RecibosCertificado.Add(_recibocertificado); } _CertificadoDeposito.Kardex.DocType = 0; _CertificadoDeposito.Kardex.DocName = "CertificadoDeposito/CD"; _CertificadoDeposito.Kardex.DocumentDate = _CertificadoDeposito.FechaCertificado; _CertificadoDeposito.Kardex.FechaCreacion = DateTime.Now; _CertificadoDeposito.Kardex.FechaModificacion = DateTime.Now; _CertificadoDeposito.Kardex.TypeOperationId = 1; _CertificadoDeposito.Kardex.TypeOperationName = "Entrada"; _CertificadoDeposito.Kardex.KardexDate = DateTime.Now; _CertificadoDeposito.Kardex.DocumentName = "CD"; _CertificadoDeposito.Kardex.CustomerId = _CertificadoDeposito.CustomerId; _CertificadoDeposito.Kardex.CustomerName = _CertificadoDeposito.CustomerName; _CertificadoDeposito.Kardex.CurrencyId = _CertificadoDeposito.CurrencyId; _CertificadoDeposito.Kardex.CurrencyName = _CertificadoDeposito.CurrencyName; _CertificadoDeposito.Kardex.DocumentId = _CertificadoDeposito.IdCD; _CertificadoDeposito.Kardex.UsuarioCreacion = _CertificadoDeposito.UsuarioCreacion; _CertificadoDeposito.Kardex.UsuarioModificacion = _CertificadoDeposito.UsuarioModificacion; _context.Kardex.Add(_CertificadoDeposito.Kardex); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } //_CertificadoDepositoq = _CertificadoDeposito; //_context.CertificadoDeposito.Add(_CertificadoDepositoq); //await _context.SaveChangesAsync(); } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_CertificadoDepositoq))); }
public async Task <ActionResult <SolicitudCertificadoDeposito> > Insert([FromBody] SolicitudCertificadoDepositoDTO _SolicitudCertificadoDeposito) { SolicitudCertificadoDeposito _SolicitudCertificadoDepositoq = new SolicitudCertificadoDeposito(); try { using (var transaction = _context.Database.BeginTransaction()) { try { _SolicitudCertificadoDepositoq = _SolicitudCertificadoDeposito; _context.SolicitudCertificadoDeposito.Add(_SolicitudCertificadoDepositoq); // await _context.SaveChangesAsync(); foreach (var item in _SolicitudCertificadoDeposito._SolicitudCertificadoLine) { item.IdSCD = _SolicitudCertificadoDepositoq.IdSCD; _context.SolicitudCertificadoLine.Add(item); } await _context.SaveChangesAsync(); foreach (var item in _SolicitudCertificadoDeposito.RecibosAsociados) { RecibosCertificado _recibocertificado = new RecibosCertificado { IdCD = _SolicitudCertificadoDepositoq.IdSCD, IdRecibo = item, productocantidadbultos = _SolicitudCertificadoDeposito.Quantitysum, productorecibolempiras = _SolicitudCertificadoDeposito.Total, // UnitMeasureId =_CertificadoDeposito. }; _context.RecibosCertificado.Add(_recibocertificado); } await _context.SaveChangesAsync(); BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora { IdOperacion = _SolicitudCertificadoDeposito.IdSCD, DocType = "SolicitudCertificadoDeposito", ClaseInicial = Newtonsoft.Json.JsonConvert.SerializeObject(_SolicitudCertificadoDeposito, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_SolicitudCertificadoDeposito, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }), Accion = "Insert", FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = _SolicitudCertificadoDeposito.UsuarioCreacion, UsuarioModificacion = _SolicitudCertificadoDeposito.UsuarioModificacion, UsuarioEjecucion = _SolicitudCertificadoDeposito.UsuarioModificacion, }); await _context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Commit(); throw ex; } } } catch (Exception ex) { _logger.LogError($"Ocurrio un error: { ex.ToString() }"); return(BadRequest($"Ocurrio un error:{ex.Message}")); } return(await Task.Run(() => Ok(_SolicitudCertificadoDepositoq))); }