Beispiel #1
0
        /// <summary>
        /// VinculoEmpresaEdificioRegla realiza todas las validaciones de los vínculos y según el parámetro persiste o no
        /// </summary>
        /// <param name="modelo">Modelo del vínculo a guardar </param>
        /// <returns>Modelo del Vínculo guardado</returns>
        private List <VinculoEmpresaEdificioModel> VinculoEmpresaEdificioRegla(RegistrarVinculoEmpresaEdificioModel modelo, bool persist)
        {
            ValidarVinculoEmpresaEdificioSave(modelo);
            int idEmpresa;

            int.TryParse(modelo.Empresa, out idEmpresa);
            var listaVinculos    = new List <VinculoEmpresaEdificio>();
            var listadoDeErrores = new StringBuilder();

            if (idEmpresa > 0)
            {
                var empresa = DaoEmpresa.GetById(idEmpresa);

                foreach (var idEdificio in modelo.ListaEdificios)
                {
                    if (DaoVinculoEmpresaEdificio.VerificarVinculoEmpresaEdificio(idEdificio, idEmpresa))
                    {
                        var edificio = DaoEdificio.GetById(idEdificio);
                        var vinculo  = new VinculoEmpresaEdificio();
                        vinculo.Empresa  = empresa;
                        vinculo.Edificio = edificio;
                        vinculo.Estado   = EstadoVinculoEmpresaEdificioEnum.ACTIVO;
                        if (modelo.FechaDesde != null)
                        {
                            vinculo.FechaDesde = modelo.FechaDesde.Value;
                        }
                        vinculo.Observacion        = modelo.Observacion;
                        vinculo.DeterminaDomicilio = false;
                        if (persist)
                        {
                            vinculo = DaoVinculoEmpresaEdificio.SaveOrUpdate(vinculo);
                        }
                        listaVinculos.Add(vinculo);
                    }
                    else
                    {
                        var edificio = DaoEdificio.GetById(idEdificio);
                        listadoDeErrores.AppendLine("El vinculo con el edificio " + edificio.IdentificadorEdificio +
                                                    " ya existe");
                    }
                }
            }
            if (!String.IsNullOrEmpty(listadoDeErrores.ToString()))
            {
                throw new BaseException(listadoDeErrores.ToString());
            }
            return(AutoMapper.Mapper.Map <List <VinculoEmpresaEdificio>, List <VinculoEmpresaEdificioModel> >(listaVinculos));
        }
Beispiel #2
0
 private void ValidarVinculoEmpresaEdificioSave(RegistrarVinculoEmpresaEdificioModel modelo)
 {
     //TODO Esto no se puede validar con los DECORATORS del modelo?
     if (string.IsNullOrEmpty(modelo.Empresa))
     {
         throw new BaseException(VinculoEmpresaEdificioResource.EMPRESA_NULL);
     }
     if (modelo.ListaEdificios == null || modelo.ListaEdificios.Count == 0)
     {
         throw new BaseException(VinculoEmpresaEdificioResource.EDIFICIO_NUL);
     }
     if (modelo.FechaDesde == null)
     {
         throw new BaseException(VinculoEmpresaEdificioResource.FECHA_NULL);
     }
 }
Beispiel #3
0
 /// <summary>
 /// VinculoEmpresaEdificioUnicoSave guarda un vínculo de empresa a edificio asumiendo ESTRICTAMENTE que la lista
 /// de edificios del model viene con sólo 1 elemento
 /// </summary>
 /// <param name="modelo">Modelo del vínculo a guardar </param>
 /// <returns>Modelo del Vínculo guardado</returns>
 public VinculoEmpresaEdificioModel VinculoEmpresaEdificioUnicoValidar(RegistrarVinculoEmpresaEdificioModel modelo)
 {
     return(VinculoEmpresaEdificioRegla(modelo, false)[0]);
 }
Beispiel #4
0
 public List <VinculoEmpresaEdificioModel> VinculoEmpresaEdificioSave(RegistrarVinculoEmpresaEdificioModel modelo)
 {
     return(VinculoEmpresaEdificioRegla(modelo, true));
 }
Beispiel #5
0
 /// <summary>
 /// VinculoEmpresaEdificioUnicoSave guarda un vínculo de empresa a edificio asumiendo ESTRICTAMENTE que la lista
 /// de edificios del model viene con sólo 1 elemento
 /// </summary>
 /// <param name="modelo">Modelo del vínculo a guardar </param>
 /// <returns>Modelo del Vínculo guardado</returns>
 public VinculoEmpresaEdificioModel VinculoEmpresaEdificioUnicoSave(RegistrarVinculoEmpresaEdificioModel modelo)
 {
     return(VinculoEmpresaEdificioSave(modelo)[0]);
 }