public bool guardarDB(cxc_cobro_Info info) { try { return(odata.guardarDB(info)); } catch (Exception) { throw; } }
public bool guardarDB(cxc_cobro_Info info) { try { return(odata.guardarDB(info)); } catch (Exception ex) { tb_LogError_Bus LogData = new tb_LogError_Bus(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cxc_cobro_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool modificarDB(fa_notaCreDeb_Info info) { try { #region Variables int Secuencia = 1; ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); cxc_cobro_Data odata_cobr = new cxc_cobro_Data(); #endregion using (Entities_facturacion db_f = new Entities_facturacion()) { #region Nota de debito credito #region Cabecera var entity = db_f.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).FirstOrDefault(); if (entity == null) { return(false); } entity.IdPuntoVta = info.IdPuntoVta; //entity.CodNota = info.CodNota; entity.CreDeb = info.CreDeb.Trim(); entity.CodDocumentoTipo = info.CodDocumentoTipo; entity.Serie1 = info.Serie1; entity.Serie2 = info.Serie2; entity.NumNota_Impresa = info.NumNota_Impresa; entity.NumAutorizacion = info.NumAutorizacion; entity.Fecha_Autorizacion = info.Fecha_Autorizacion; entity.IdCliente = info.IdCliente; entity.IdContacto = info.IdContacto; entity.no_fecha = info.no_fecha.Date; entity.no_fecha_venc = info.no_fecha_venc.Date; entity.IdTipoNota = info.IdTipoNota; entity.sc_observacion = info.sc_observacion; entity.NaturalezaNota = info.NaturalezaNota; entity.IdCtaCble_TipoNota = info.IdCtaCble_TipoNota; entity.IdUsuarioUltMod = info.IdUsuarioUltMod; entity.Fecha_UltMod = DateTime.Now; #endregion #region Detalle var lst = db_f.fa_notaCreDeb_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).ToList(); db_f.fa_notaCreDeb_det.RemoveRange(lst); foreach (var item in info.lst_det) { db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota, Secuencia = Secuencia++, IdProducto = item.IdProducto, sc_cantidad = item.sc_cantidad, sc_cantidad_factura = item.sc_cantidad_factura, sc_Precio = item.sc_Precio, sc_descUni = item.sc_descUni, sc_PordescUni = item.sc_PordescUni, sc_precioFinal = item.sc_precioFinal, vt_por_iva = item.vt_por_iva, sc_iva = item.sc_iva, IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva, sc_estado = "A", sc_subtotal = item.sc_subtotal, sc_total = item.sc_total, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdPunto_Cargo = item.IdPunto_Cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }); } #endregion #region Cruce var lst_cruce = db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).ToList(); db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.RemoveRange(lst_cruce); Secuencia = 1; foreach (var item in info.lst_cruce) { db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, secuencia = Secuencia++, IdEmpresa_fac_nd_doc_mod = item.IdEmpresa_fac_nd_doc_mod, IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod, IdBodega_fac_nd_doc_mod = item.IdBodega_fac_nd_doc_mod, IdCbteVta_fac_nd_doc_mod = item.IdCbteVta_fac_nd_doc_mod, vt_tipoDoc = item.vt_tipoDoc, Valor_Aplicado = item.Valor_Aplicado, fecha_cruce = DateTime.Now, }); } #endregion db_f.SaveChanges(); #endregion #region Parametros var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var cliente = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault(); #endregion #region Contabilidad if (parametros != null && parametros.IdTipoCbteCble_NC != null && parametros.IdTipoCbteCble_ND != null) { var rel_conta = db_f.fa_notaCreDeb_x_ct_cbtecble.Where(q => q.no_IdEmpresa == info.IdEmpresa && q.no_IdSucursal == info.IdSucursal && q.no_IdBodega == info.IdBodega && q.no_IdNota == info.IdNota).FirstOrDefault(); ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota); if (diario != null) { if (rel_conta == null) { if (odata_ct.guardarDB(diario)) { db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble { no_IdEmpresa = info.IdEmpresa, no_IdSucursal = info.IdSucursal, no_IdBodega = info.IdBodega, no_IdNota = info.IdNota, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000")) }); db_f.SaveChanges(); } } else { diario.IdCbteCble = rel_conta.ct_IdCbteCble; odata_ct.modificarDB(diario); } } } #endregion #region Cobranza if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0) { cxc_cobro_Info cobro = armar_cobro(info); if (cobro != null) { var rel_cobr = db_f.fa_notaCreDeb_x_cxc_cobro.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).FirstOrDefault(); if (rel_cobr == null) { if (odata_cobr.guardarDB(cobro)) { db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, IdEmpresa_cbr = cobro.IdEmpresa, IdSucursal_cbr = cobro.IdSucursal, IdCobro_cbr = cobro.IdCobro, Valor_cobro = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero) }); db_f.SaveChanges(); } } else { cobro.IdCobro = rel_cobr.IdCobro_cbr; odata_cobr.modificarDB(cobro); } } } #endregion } return(true); } catch (Exception) { throw; } }
public bool guardarDB(fa_notaCreDeb_Info info) { try { #region Variables int Secuencia = 1; ct_cbtecble_Data odata_ct = new ct_cbtecble_Data(); cxc_cobro_Data odata_cobr = new cxc_cobro_Data(); #endregion using (Entities_facturacion db_f = new Entities_facturacion()) { #region Nota de debito credito #region Cabecera fa_notaCreDeb Entity = new fa_notaCreDeb //db_f.fa_notaCreDeb.Add(new fa_notaCreDeb { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota = get_id(info.IdEmpresa, info.IdSucursal, info.IdBodega), IdPuntoVta = info.IdPuntoVta, CodNota = info.CodNota, CreDeb = info.CreDeb.Trim(), CodDocumentoTipo = info.CodDocumentoTipo, Serie1 = info.Serie1, Serie2 = info.Serie2, NumNota_Impresa = info.NumNota_Impresa, NumAutorizacion = info.NumAutorizacion, Fecha_Autorizacion = info.Fecha_Autorizacion, IdCliente = info.IdCliente, no_fecha = info.no_fecha.Date, no_fecha_venc = info.no_fecha_venc.Date, IdTipoNota = info.IdTipoNota, sc_observacion = info.sc_observacion, Estado = info.Estado = "A", NaturalezaNota = info.NaturalezaNota, IdCtaCble_TipoNota = info.IdCtaCble_TipoNota, IdUsuario = info.IdUsuario }; #endregion #region Detalle foreach (var item in info.lst_det) { db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdNota = info.IdNota, Secuencia = Secuencia++, IdProducto = item.IdProducto, sc_cantidad = item.sc_cantidad, sc_cantidad_factura = item.sc_cantidad_factura, sc_Precio = item.sc_Precio, sc_descUni = item.sc_descUni, sc_PordescUni = item.sc_PordescUni, sc_precioFinal = item.sc_precioFinal, vt_por_iva = item.vt_por_iva, sc_iva = item.sc_iva, IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva, sc_subtotal = item.sc_subtotal, sc_total = item.sc_total, IdCentroCosto = item.IdCentroCosto, IdPunto_Cargo = item.IdPunto_Cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }); } #endregion #region Cruce Secuencia = 1; foreach (var item in info.lst_cruce) { db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, secuencia = Secuencia++, IdEmpresa_fac_nd_doc_mod = item.IdEmpresa_fac_nd_doc_mod, IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod, IdBodega_fac_nd_doc_mod = item.IdBodega_fac_nd_doc_mod, IdCbteVta_fac_nd_doc_mod = item.IdCbteVta_fac_nd_doc_mod, vt_tipoDoc = item.vt_tipoDoc, Valor_Aplicado = item.Valor_Aplicado, fecha_cruce = DateTime.Now, }); } #endregion #region Talonario fa_PuntoVta_Data data_puntovta = new fa_PuntoVta_Data(); tb_sis_Documento_Tipo_Talonario_Data data_talonario = new tb_sis_Documento_Tipo_Talonario_Data(); fa_PuntoVta_Info info_puntovta = new fa_PuntoVta_Info(); tb_sis_Documento_Tipo_Talonario_Info ultimo_talonario = new tb_sis_Documento_Tipo_Talonario_Info(); tb_sis_Documento_Tipo_Talonario_Info info_talonario = new tb_sis_Documento_Tipo_Talonario_Info(); info_puntovta = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta); if (info_puntovta != null && info.NaturalezaNota == "SRI") { if (info_puntovta.EsElectronico == true) { ultimo_talonario = data_talonario.GetUltimoNoUsado(info.IdEmpresa, info_puntovta.codDocumentoTipo, info_puntovta.Su_CodigoEstablecimiento, info_puntovta.cod_PuntoVta, info_puntovta.EsElectronico, true); if (ultimo_talonario != null) { Entity.Serie1 = info.Serie1 = ultimo_talonario.Establecimiento; Entity.Serie2 = info.Serie2 = ultimo_talonario.PuntoEmision; Entity.NumNota_Impresa = info.NumNota_Impresa = ultimo_talonario.NumDocumento; } } else { info_talonario.IdEmpresa = info.IdEmpresa; info_talonario.CodDocumentoTipo = info.CodDocumentoTipo; info_talonario.Establecimiento = info.Serie1; info_talonario.PuntoEmision = info.Serie2; info_talonario.NumDocumento = info.NumNota_Impresa; info_talonario.IdSucursal = info.IdSucursal; info_talonario.Usado = true; data_talonario.modificar_estado_usadoDB(info_talonario); } } else { Entity.Serie1 = null; Entity.Serie2 = null; Entity.NumNota_Impresa = null; } #endregion db_f.fa_notaCreDeb.Add(Entity); db_f.SaveChanges(); #endregion #region Parametros var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); var cliente = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault(); #endregion #region Contabilidad if (parametros != null) { ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota); if (diario != null) { if (odata_ct.guardarDB(diario)) { db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble { no_IdEmpresa = info.IdEmpresa, no_IdSucursal = info.IdSucursal, no_IdBodega = info.IdBodega, no_IdNota = info.IdNota, ct_IdEmpresa = diario.IdEmpresa, ct_IdTipoCbte = diario.IdTipoCbte, ct_IdCbteCble = diario.IdCbteCble, observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000")) }); db_f.SaveChanges(); } } } #endregion #region Cobranza if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0) { cxc_cobro_Info cobro = armar_cobro(info); if (cobro != null) { if (odata_cobr.guardarDB(cobro)) { db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro { IdEmpresa_nt = info.IdEmpresa, IdSucursal_nt = info.IdSucursal, IdBodega_nt = info.IdBodega, IdNota_nt = info.IdNota, IdEmpresa_cbr = cobro.IdEmpresa, IdSucursal_cbr = cobro.IdSucursal, IdCobro_cbr = cobro.IdCobro, Valor_cobro = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero) }); db_f.SaveChanges(); } } } #endregion } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "fa_notaCreDeb_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }