public cp_conciliacionAnticipo_Info get_info(int IdEmpresa, int IdConciliacion) { try { cp_conciliacionAnticipo_Info info = new cp_conciliacionAnticipo_Info(); using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar()) { cp_ConciliacionAnticipo Entity = Context.cp_ConciliacionAnticipo.Where(q => q.IdConciliacion == IdConciliacion && q.IdEmpresa == IdEmpresa).FirstOrDefault(); if (Entity == null) { return(null); } info = new cp_conciliacionAnticipo_Info { IdEmpresa = Entity.IdEmpresa, IdConciliacion = Entity.IdConciliacion, IdSucursal = Entity.IdSucursal, IdProveedor = Entity.IdProveedor, Fecha = Entity.Fecha, Observacion = Entity.Observacion, Estado = Entity.Estado, IdTipoCbte = Entity.IdTipoCbte, IdCbteCble = Entity.IdCbteCble }; } return(info); } catch (Exception) { throw; } }
public cp_conciliacionAnticipo_Info GetInfo(int IdEmpresa, int IdConciliacion) { try { cp_conciliacionAnticipo_Info info = new cp_conciliacionAnticipo_Info(); info = oData.get_info(IdEmpresa, IdConciliacion); if (info == null) { info = new cp_conciliacionAnticipo_Info(); } info.Lista_det_OP = oData_det_OP.getlist(IdEmpresa, IdConciliacion); if (info.Lista_det_OP == null) { info.Lista_det_OP = new List <cp_ConciliacionAnticipoDetAnt_Info>(); } info.Lista_det_Fact = oData_det_Fact.getlist(IdEmpresa, IdConciliacion); if (info.Lista_det_Fact == null) { info.Lista_det_Fact = new List <cp_ConciliacionAnticipoDetCXP_Info>(); } return(info); } catch (Exception) { throw; } }
public ActionResult Anular(int IdEmpresa = 0, decimal IdConciliacion = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion cp_conciliacionAnticipo_Info model = bus_conc_anticipo.GetInfo(IdEmpresa, Convert.ToInt32(IdConciliacion)); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.InfoCbte = bus_cbte.get_info(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToDecimal(model.IdCbteCble)); model.Lista_det_Cbte = bus_cbte_det.get_list(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToDecimal(model.IdCbteCble)); Lista_det_OP.set_list(model.Lista_det_OP, model.IdTransaccionSession); Lista_det_Fact.set_list(model.Lista_det_Fact, model.IdTransaccionSession); list_ct_cbtecble_det.set_list(model.Lista_det_Cbte, model.IdTransaccionSession); cargar_combos(IdEmpresa); return(View(model)); }
public ActionResult Nuevo(cp_conciliacionAnticipo_Info model) { model.IdUsuarioCreacion = SessionFixed.IdUsuario; model.Lista_det_OP = Lista_det_OP.get_list(model.IdTransaccionSession); model.Lista_det_Fact = Lista_det_Fact.get_list(model.IdTransaccionSession); model.Lista_det_Cbte = list_ct_cbtecble_det.get_list(model.IdTransaccionSession); if (!Validar(model, ref mensaje)) { ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } if (!bus_conc_anticipo.GuardarBD(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Nuevo(int IdEmpresa = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion info_parametro = bus_param.get_info(IdEmpresa); cp_conciliacionAnticipo_Info model = new cp_conciliacionAnticipo_Info { IdEmpresa = IdEmpresa, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession), IdUsuarioCreacion = SessionFixed.IdUsuario, Fecha = DateTime.Now.Date, IdSucursal = Convert.ToInt32(SessionFixed.IdSucursal), IdTipoCbte = info_parametro.pa_TipoCbte_para_conci_x_antcipo }; cargar_combos(IdEmpresa); Lista_det_OP.set_list(new List <cp_ConciliacionAnticipoDetAnt_Info>(), model.IdTransaccionSession); Lista_det_Fact.set_list(new List <cp_ConciliacionAnticipoDetCXP_Info>(), model.IdTransaccionSession); list_ct_cbtecble_det.set_list(new List <ct_cbtecble_det_Info>(), model.IdTransaccionSession); return(View(model)); }
public bool AnularBD(cp_conciliacionAnticipo_Info info) { try { return(oData.AnularBD(info)); } catch (Exception) { throw; } }
public bool ModificarBD(cp_conciliacionAnticipo_Info info) { try { return(oData.ModificarBD(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 = "cp_conciliacionAnticipo_Bus", Metodo = "ModificarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
public bool AnularBD(cp_conciliacionAnticipo_Info info) { try { using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { cp_ConciliacionAnticipo entity = db.cp_ConciliacionAnticipo.Where(q => q.IdConciliacion == info.IdConciliacion && q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (entity == null) { return(false); } entity.Estado = false; entity.IdUsuarioAnulacion = info.IdUsuarioAnulacion; entity.FechaAnulacion = DateTime.Now; entity.MotivoAnulacion = info.MotivoAnulacion; var lst_det_OP = db.cp_ConciliacionAnticipoDetAnt.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetAnt.RemoveRange(lst_det_OP); var lst_det_Fact = db.cp_ConciliacionAnticipoDetCXP.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetCXP.RemoveRange(lst_det_Fact); var lst_Cancelaciones = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_op == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipoCbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); db.cp_orden_pago_cancelaciones.RemoveRange(lst_Cancelaciones); if (data_cbtecble.anularDB(new ct_cbtecble_Info { IdEmpresa = info.IdEmpresa, IdTipoCbte = Convert.ToInt32(info.IdTipoCbte), IdCbteCble = Convert.ToInt32(info.IdCbteCble), IdUsuarioAnu = info.IdUsuarioAnulacion, cb_MotivoAnu = info.MotivoAnulacion })) { db.SaveChanges(); } } return(true); } catch (Exception) { throw; } }
public ActionResult Consultar(int IdEmpresa = 0, int IdConciliacion = 0, bool Exito = false) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion cp_conciliacionAnticipo_Info model = bus_conc_anticipo.GetInfo(IdEmpresa, IdConciliacion); if (model == null) { return(RedirectToAction("Index")); } #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "CuentasPorPagar", "ConciliacionAnticipoProveedor", "Index"); if (model.Estado == false) { info.Modificar = false; info.Anular = false; } model.Nuevo = (info.Nuevo == true ? 1 : 0); model.Modificar = (info.Modificar == true ? 1 : 0); model.Anular = (info.Anular == true ? 1 : 0); #endregion model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.InfoCbte = bus_cbte.get_info(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToDecimal(model.IdCbteCble)); model.Lista_det_Cbte = bus_cbte_det.get_list(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToDecimal(model.IdCbteCble)); Lista_det_OP.set_list(model.Lista_det_OP, model.IdTransaccionSession); Lista_det_Fact.set_list(model.Lista_det_Fact, model.IdTransaccionSession); list_ct_cbtecble_det.set_list(model.Lista_det_Cbte, model.IdTransaccionSession); if (Exito) { ViewBag.MensajeSuccess = MensajeSuccess; } cargar_combos(IdEmpresa); return(View(model)); }
public ActionResult Modificar(cp_conciliacionAnticipo_Info model) { model.Lista_det_OP = Lista_det_OP.get_list(model.IdTransaccionSession); model.Lista_det_Fact = Lista_det_Fact.get_list(model.IdTransaccionSession); model.Lista_det_Cbte = list_ct_cbtecble_det.get_list(model.IdTransaccionSession); model.IdUsuarioModificacion = SessionFixed.IdUsuario.ToString(); if (!Validar(model, ref mensaje)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); ViewBag.mensaje = mensaje; cargar_combos(model.IdEmpresa); return(View(model)); } if (!bus_conc_anticipo.ModificarBD(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } return(RedirectToAction("Consultar", new { IdEmpresa = model.IdEmpresa, IdConciliacion = model.IdConciliacion, Exito = true })); }
public ActionResult Anular(cp_conciliacionAnticipo_Info model) { model.IdUsuarioAnulacion = SessionFixed.IdUsuario.ToString(); if (!bus_conc_anticipo.AnularBD(model)) { ViewBag.mensaje = "No se ha podido anular el registro"; model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.Lista_det_OP = Lista_det_OP.get_list(model.IdTransaccionSession); model.Lista_det_Fact = Lista_det_Fact.get_list(model.IdTransaccionSession); model.Lista_det_Cbte = list_ct_cbtecble_det.get_list(model.IdTransaccionSession); Lista_det_OP.set_list(model.Lista_det_OP, model.IdTransaccionSession); Lista_det_Fact.set_list(model.Lista_det_Fact, model.IdTransaccionSession); list_ct_cbtecble_det.set_list(model.Lista_det_Cbte, model.IdTransaccionSession); cargar_combos(model.IdEmpresa); return(View(model)); } ; return(RedirectToAction("Index")); }
public bool ModificarBD(cp_conciliacionAnticipo_Info info) { try { using (Entities_contabilidad db_cont = new Entities_contabilidad()) { ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdTipoCbte), 0, info.Observacion, info.Fecha); ct_cbtecble Entity_cbte = db_cont.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipoCbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault(); if (info_diario != null) { info_diario.IdCbteCble = Convert.ToDecimal(info.IdCbteCble); info_diario.IdUsuarioUltModi = info.IdUsuarioModificacion; if (data_cbtecble.modificarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } } using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { cp_ConciliacionAnticipo entity = db.cp_ConciliacionAnticipo.Where(q => q.IdConciliacion == info.IdConciliacion && q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (entity == null) { return(false); } entity.IdProveedor = info.IdProveedor; entity.Fecha = info.Fecha; entity.Observacion = info.Observacion; entity.IdSucursal = info.IdSucursal; entity.IdUsuarioModificacion = info.IdUsuarioModificacion; entity.FechaModificacion = DateTime.Now; var lst_det_OP = db.cp_ConciliacionAnticipoDetAnt.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetAnt.RemoveRange(lst_det_OP); var lst_det_Fact = db.cp_ConciliacionAnticipoDetCXP.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConciliacion == info.IdConciliacion).ToList(); db.cp_ConciliacionAnticipoDetCXP.RemoveRange(lst_det_Fact); var lst_Cancelaciones = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_op == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipoCbte && q.IdCbteCble_pago == info.IdCbteCble).ToList(); db.cp_orden_pago_cancelaciones.RemoveRange(lst_Cancelaciones); if (info.Lista_det_OP != null) { int SecuenciaOP = 1; foreach (var item in info.Lista_det_OP) { db.cp_ConciliacionAnticipoDetAnt.Add(new cp_ConciliacionAnticipoDetAnt { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaOP++, IdOrdenPago = item.IdOrdenPago, MontoAplicado = item.MontoAplicado }); } } if (info.Lista_det_Fact != null) { int SecuenciaFact = 1; int SecuenciaCanc = 1; foreach (var item in info.Lista_det_Fact) { db.cp_ConciliacionAnticipoDetCXP.Add(new cp_ConciliacionAnticipoDetCXP { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaFact++, IdOrdenPago = item.IdOrdenPago, IdEmpresa_cxp = item.IdEmpresa, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, Fecha_cxp = item.Fecha_cxp, Observacion_cxp = item.Observacion_cxp, MontoAplicado = item.MontoAplicado }); cp_orden_pago_cancelaciones_Info info_cancelacion = new cp_orden_pago_cancelaciones_Info(); info_cancelacion.IdEmpresa = info.IdEmpresa; info_cancelacion.Secuencia = SecuenciaCanc++; info_cancelacion.IdEmpresa_op = item.IdEmpresa_cxp; info_cancelacion.IdOrdenPago_op = item.IdOrdenPago; info_cancelacion.Secuencia_op = 1; info_cancelacion.IdEmpresa_cxp = item.IdEmpresa_cxp; info_cancelacion.IdTipoCbte_cxp = item.IdTipoCbte_cxp; info_cancelacion.IdCbteCble_cxp = item.IdCbteCble_cxp; info_cancelacion.IdEmpresa_pago = info.IdEmpresa; info_cancelacion.IdTipoCbte_pago = Convert.ToInt32(info.IdTipoCbte); info_cancelacion.IdCbteCble_pago = Convert.ToInt32(info.IdCbteCble); info_cancelacion.MontoAplicado = item.MontoAplicado; info_cancelacion.Observacion = "CONCILIACION" + info.IdConciliacion; data_op_cancelaciones.guardarDB(info_cancelacion); } } 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 = "cp_conciliacionAnticipo_Data", Metodo = "ModificarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
public bool GuardarBD(cp_conciliacionAnticipo_Info info) { try { cp_parametros_Info info_parametros = new cp_parametros_Info(); info_parametros = data_cp_parametro.get_info(info.IdEmpresa); using (Entities_contabilidad db_cont = new Entities_contabilidad()) { if (info_parametros != null && info_parametros.pa_TipoCbte_para_conci_x_antcipo != null) { ct_cbtecble_Info info_diario = armar_info(info.Lista_det_Cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info_parametros.pa_TipoCbte_para_conci_x_antcipo), 0, info.Observacion, info.Fecha); if (info_diario != null) { info_diario.IdUsuario = info.IdUsuarioCreacion; if (data_cbtecble.guardarDB(info_diario)) { info.IdTipoCbte = info_diario.IdTipoCbte; info.IdCbteCble = info_diario.IdCbteCble; } } } } using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar()) { db.cp_ConciliacionAnticipo.Add(new cp_ConciliacionAnticipo { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion = get_id(info.IdEmpresa), IdSucursal = info.IdSucursal, IdProveedor = info.IdProveedor, Fecha = info.Fecha, Observacion = info.Observacion, IdTipoCbte = info.IdTipoCbte, IdCbteCble = info.IdCbteCble, Estado = true, IdUsuarioCreacion = info.IdUsuarioCreacion, FechaCreacion = DateTime.Now }); if (info.Lista_det_OP != null) { int SecuenciaOP = 1; foreach (var item in info.Lista_det_OP) { db.cp_ConciliacionAnticipoDetAnt.Add(new cp_ConciliacionAnticipoDetAnt { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaOP++, IdOrdenPago = item.IdOrdenPago, MontoAplicado = item.MontoAplicado }); } } if (info.Lista_det_Fact != null) { int SecuenciaFact = 1; int SecuenciaCanc = 1; foreach (var item in info.Lista_det_Fact) { db.cp_ConciliacionAnticipoDetCXP.Add(new cp_ConciliacionAnticipoDetCXP { IdEmpresa = info.IdEmpresa, IdConciliacion = info.IdConciliacion, Secuencia = SecuenciaFact++, IdOrdenPago = item.IdOrdenPago, IdEmpresa_cxp = item.IdEmpresa_cxp, IdTipoCbte_cxp = item.IdTipoCbte_cxp, IdCbteCble_cxp = item.IdCbteCble_cxp, Fecha_cxp = item.Fecha_cxp, Observacion_cxp = item.Observacion_cxp, MontoAplicado = item.MontoAplicado }); cp_orden_pago_cancelaciones_Info info_cancelacion = new cp_orden_pago_cancelaciones_Info(); info_cancelacion.IdEmpresa = info.IdEmpresa; info_cancelacion.Secuencia = SecuenciaCanc++; info_cancelacion.IdEmpresa_op = item.IdEmpresa_cxp; info_cancelacion.IdOrdenPago_op = item.IdOrdenPago; info_cancelacion.Secuencia_op = 1; info_cancelacion.IdEmpresa_cxp = item.IdEmpresa_cxp; info_cancelacion.IdTipoCbte_cxp = item.IdTipoCbte_cxp; info_cancelacion.IdCbteCble_cxp = item.IdCbteCble_cxp; info_cancelacion.IdEmpresa_pago = info.IdEmpresa; info_cancelacion.IdTipoCbte_pago = Convert.ToInt32(info.IdTipoCbte); info_cancelacion.IdCbteCble_pago = Convert.ToInt32(info.IdCbteCble); info_cancelacion.MontoAplicado = item.MontoAplicado; info_cancelacion.Observacion = "CONCILIACION" + info.IdConciliacion; data_op_cancelaciones.guardarDB(info_cancelacion); } } db.SaveChanges(); } return(true); } catch (Exception ex) { eliminar(info.IdEmpresa, Convert.ToInt32(info.IdTipoCbte), Convert.ToDecimal(info.IdCbteCble)); 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 = "cp_conciliacionAnticipo_Data", Metodo = "GuardarDB", IdUsuario = info.IdUsuarioCreacion }); return(false); } }
public ActionResult CmbProveedor_readonly() { cp_conciliacionAnticipo_Info model = new cp_conciliacionAnticipo_Info(); return(PartialView("_CmbProveedor_readonly", model)); }
private bool Validar(cp_conciliacionAnticipo_Info i_validar, ref string msg) { i_validar.Lista_det_OP = Lista_det_OP.get_list(i_validar.IdTransaccionSession); if (i_validar.Lista_det_OP.Count == 0) { mensaje = "Debe ingresar al menos una orden de pago"; return(false); } else { foreach (var item1 in i_validar.Lista_det_OP) { var contador = 0; foreach (var item2 in i_validar.Lista_det_OP) { if (item1.IdOrdenPago == item2.IdOrdenPago) { contador++; } if (contador > 1) { mensaje = "Existen ordenes de pago repetidas en el detalle"; return(false); } } } } if (i_validar.Lista_det_Fact.Count == 0) { mensaje = "Debe ingresar al menos una factura de proveedor"; return(false); } if (i_validar.Lista_det_OP.Sum(q => q.MontoAplicado) != i_validar.Lista_det_Fact.Sum(q => q.MontoAplicado)) { var a = i_validar.Lista_det_OP.Sum(q => q.MontoAplicado); var b = i_validar.Lista_det_Fact.Sum(q => q.MontoAplicado); mensaje = "El monto aplicado entre la orden de pago y la factura por proveedor debe coincidir"; return(false); } if (i_validar.Lista_det_Cbte.Count == 0) { mensaje = "Debe ingresar registros en el detalle del diario"; return(false); } if (Math.Round(i_validar.Lista_det_Cbte.Sum(q => q.dc_Valor), 2) != 0) { mensaje = "La suma de los detalles del diario debe ser 0"; return(false); } if (i_validar.Lista_det_Cbte.Where(q => q.dc_Valor == 0).Count() > 0) { mensaje = "Existen detalles con valor 0 en el debe o haber"; return(false); } if (i_validar.Lista_det_Cbte.Where(q => string.IsNullOrEmpty(q.IdCtaCble)).Count() > 0) { mensaje = "Existen detalles sin cuenta contable"; return(false); } return(true); }