public void Guardar()
        {
            try
            {
                string s;
                if ((s = this.ValidarCamposConfiguracion()) != null)
                {
                    this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                    return;
                }
                if ((s = this.ValidarCampos()) != null)
                {
                    this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                    return;
                }
                if ((s = this.presentadorTarifas.ValidarDatos()) != null)
                {
                    this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                    return;
                }

                #region Logica de Inserción
                List <TarifaRDBO> lst = this.InterfazUsuarioADato();
                tarifaRDBR.InsertarCompleto(dctx, lst, new SeguridadBO(Guid.Empty, new UsuarioBO()
                {
                    Id = this.vista.UC
                }, new AdscripcionBO()
                {
                    UnidadOperativa = new UnidadOperativaBO()
                    {
                        Id = this.vista.UnidadOperativaID
                    }
                }));
                TarifaRDBO        tarifaTemp = lst.FindLast(t => t.Sucursal.Id == this.vista.SucursalID);
                List <TarifaRDBO> lstTemp    = tarifaRDBR.Consultar(dctx, tarifaTemp);

                if (lstTemp.Count != 0)
                {
                    tarifaTemp.TarifaID = lstTemp[0].TarifaID;
                }
                #endregion

                this.vista.LimpiarSesion();
                this.vista.EstablecerPaqueteNavegacion((object)tarifaTemp);
                this.vista.RedirigirADetalle();
            }
            catch (Exception ex)
            {
                this.MostrarMensaje("Inconsistencias al momento de registrar la tarifa configurada",
                                    ETipoMensajeIU.ERROR, this.nombreClase + ".Guardar:" + ex.Message);
            }
        }
Beispiel #2
0
        private List <TarifaRDBO> ConsultarTarifasSucursales(TarifaRDBO tarifa)
        {
            try
            {
                //validacion de los filtros obligatorios para buscar las sucursales que tienen la misma tarifa.
                if (Object.ReferenceEquals(tarifa, null))
                {
                    throw new Exception("El objeto no puede ser nulo");
                }
                if (Object.ReferenceEquals(tarifa.Modelo, null))
                {
                    throw new Exception("El objeto Modelo de la tarifa no puede ser nulo");
                }
                if (tarifa.Divisa == null || tarifa.Divisa.MonedaDestino == null)
                {
                    throw new Exception(" El objeto de divisa de la tarifa no puede ser nulo");
                }
                if (tarifa.Tipo == null)
                {
                    throw new Exception("el tipo de tarifa no puede ser nulo");
                }

                if (this.vista.UnidadOperativaID == null)
                {
                    throw new Exception("La unidad Operativa de la tarifa no puede ser nulo");
                }
                if (tarifa.Modelo.Id == null)
                {
                    throw new Exception("el identificador del modelo de la tarifa no puede ser nulo");
                }
                if (String.IsNullOrEmpty(tarifa.Divisa.MonedaDestino.Codigo))
                {
                    throw new Exception("El código de la moneda no puede ser vacío");
                }
                if (tarifa.Tipo == ETipoTarifa.ESPECIAL)
                {
                    if (tarifa.Cliente == null && tarifa.Cliente.Id == null)
                    {
                        throw new Exception("El cliente no puede ser nulo");
                    }
                }
                else
                {
                    if (String.IsNullOrEmpty(tarifa.Descripcion))
                    {
                        throw new Exception("La descripción de la tarifa no puede ser vacío");
                    }
                }


                //seccion de consulta
                TarifaRDBOF tarifaTemp = new TarifaRDBOF
                {
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO {
                            Id = this.vista.UnidadOperativaID
                        }
                    },
                    Modelo = new ModeloBO {
                        Id = tarifa.Modelo.Id
                    },
                    Divisa = new DivisaBO {
                        MonedaDestino = new MonedaBO {
                            Codigo = tarifa.Divisa.MonedaDestino.Codigo
                        }
                    },
                    Tipo               = tarifa.Tipo,
                    Descripcion        = tarifa.Descripcion,
                    Activo             = true,
                    SucursalesConsulta = SucursalesSeguridad()
                };
                if (tarifa.Cliente != null && tarifa.Cliente.Id != null)
                {
                    tarifaTemp.Cliente = new CuentaClienteIdealeaseBO {
                        Id = tarifa.Cliente.Id
                    }
                }
                ;
                List <TarifaRDBOF> lstTarifa = tarifaBR.Consultar(dctx, tarifaTemp);
                return(lstTarifa.ConvertAll(t => (TarifaRDBO)t));
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".ConsultarTarifasSucursales:Error al consultar las sucursales que tiene las mismas tarifas." + ex.Message);
            }
        }