public cxc_LiquidacionTarjeta_Info get_info(int IdEmpresa, int IdSucursal, decimal IdLiquidacion) { try { cxc_LiquidacionTarjeta_Info info = new cxc_LiquidacionTarjeta_Info(); using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar()) { cxc_LiquidacionTarjeta Entity = Context.cxc_LiquidacionTarjeta.Where(q => q.IdLiquidacion == IdLiquidacion && q.IdSucursal == IdSucursal && q.IdEmpresa == IdEmpresa).FirstOrDefault(); if (Entity == null) { return(null); } info = new cxc_LiquidacionTarjeta_Info { IdEmpresa = Entity.IdEmpresa, IdSucursal = Entity.IdSucursal, IdLiquidacion = Entity.IdSucursal, IdBanco = Entity.IdBanco, Valor = Entity.Valor, Fecha = Entity.Fecha, Estado = Entity.Estado, IdEmpresa_ct = Entity.IdEmpresa_ct, IdTipoCbte_ct = Entity.IdTipoCbte_ct, IdCbteCble_ct = Entity.IdCbteCble_ct, Observacion = Entity.Observacion, Lote = Entity.Lote }; } return(info); } catch (Exception) { throw; } }
public bool guardarDB(cxc_LiquidacionTarjeta_Info info) { try { using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar()) { var Entity = new cxc_LiquidacionTarjeta { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdLiquidacion = info.IdLiquidacion = get_id(info.IdEmpresa, info.IdSucursal), Lote = info.Lote, Fecha = info.Fecha, IdBanco = info.IdBanco, Observacion = info.Observacion, Estado = info.Estado = true, Valor = info.Valor = Math.Round(info.ListaCobros.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero), IdUsuarioCreacion = info.IdUsuarioCreacion, FechaCreacion = DateTime.Now }; int Secuencia = 1; foreach (var item in info.ListaCobros) { db.cxc_LiquidacionTarjeta_x_cxc_cobro.Add(new cxc_LiquidacionTarjeta_x_cxc_cobro { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdLiquidacion = info.IdLiquidacion, Secuencia = Secuencia++, Valor = item.Valor, IdCobro = item.IdCobro }); } Secuencia = 1; foreach (var item in info.ListaDet) { var motivo = db.cxc_MotivoLiquidacionTarjeta_x_tb_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdMotivo == item.IdMotivo).FirstOrDefault(); if (motivo != null) { item.IdCtaCble = motivo.IdCtaCble; } db.cxc_LiquidacionTarjetaDet.Add(new cxc_LiquidacionTarjetaDet { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdLiquidacion = info.IdLiquidacion, Secuencia = Secuencia++, IdMotivo = item.IdMotivo, Porcentaje = item.Porcentaje, Valor = item.Valor }); } db.cxc_LiquidacionTarjeta.Add(Entity); db.SaveChanges(); var cobro_tipo = db.cxc_cobro_tipo_Param_conta_x_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdCobro_tipo == "TARJ").FirstOrDefault(); if (cobro_tipo != null) { var CbteBan = ArmarDiario(info, cobro_tipo.IdCtaCble); if (CbteBan != null) { if (data_cbteban.guardarDB(CbteBan, Info.Helps.cl_enumeradores.eTipoCbteBancario.NCBA)) { Entity.IdEmpresa_ct = info.IdEmpresa_ct = CbteBan.IdEmpresa; Entity.IdTipoCbte_ct = info.IdTipoCbte_ct = CbteBan.IdTipocbte; Entity.IdCbteCble_ct = info.IdCbteCble_ct = CbteBan.IdCbteCble; db.SaveChanges(); } } } } 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 = "cxc_LiquidacionTarjeta_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }