// GET: Contratos/Create
        public ActionResult Create()
        {
            ViewBag.Propietarios = "Propietario";
            ContratosModel model = new ContratosModel();

            return(View(model));
        }
        public Dictionary <string, string> SalvarCorporativoEmpresa()
        {
            var validarContrato   = new ContratosValidator();
            var validarPessoa     = new PessoasValidator();
            var validarUnidade    = new UnidadesValidator();
            var resultadoContrato = validarContrato.Validate(Contratos);
            var resultadoPessoa   = validarPessoa.Validate(Pessoas);
            var resultadoUnidade  = validarUnidade.Validate(Unidades);
            var falhas            = resultadoUnidade.Errors.Union(resultadoContrato.Errors).Union(resultadoPessoa.Errors);
            var resultado         = new ValidationResult(falhas);

            if (resultado.IsValid)
            {
                try
                {
                    ContratosModel.SalvarCorporativo();
                    UnidadesModel.SalvarCorporativo();
                    //Retornar para a lista ou manter no cadastro como edição
                    return(RetornoMensagem("Sucesso", "Contrato Corporativo salvo com sucesso!", "64"));
                }
                catch (Exception)
                {
                    return(RetornoMensagem("Erro", "Não gravado!", "16"));
                }
            }
            else
            {
                return(RetornoMensagem("Aviso", resultado.Errors.First().ErrorMessage, "48"));
            }
        }
 public ActionResult Create(ContratosModel collection)
 {
     try
     {
         // TODO: Add insert logic here
         if (ModelState.IsValid)
         {
             var contratoBll = new ContratosBLL();
             var contrato    = new Contratos
             {
                 FechaContrato          = collection.Contrato.FechaContrato,
                 IdGaranteLaboral1      = collection.Contrato.IdGaranteLaboral1,
                 IdGaranteLaboral2      = collection.Contrato.IdGaranteLaboral2,
                 IdGaranteLaboral3      = collection.Contrato.IdGaranteLaboral3,
                 Incrementos            = collection.Contrato.Incrementos,
                 InquilinoId            = collection.Contrato.InquilinoId,
                 MontoInicialAlquiler   = collection.Contrato.MontoInicialAlquiler,
                 NroContrato            = collection.Contrato.NroContrato,
                 PeriodoMeses           = collection.Contrato.PeriodoMeses,
                 PorcentajeIncremento   = collection.Contrato.PorcentajeIncremento,
                 PorcentajeInmobiliaria = collection.Contrato.PorcentajeInmobiliaria,
                 PropiedadesId          = collection.Contrato.PropiedadesId,
                 PropietarioId          = collection.Contrato.PropietarioId
             };
             var inpu = collection.Impuestos.Split(',');
             foreach (var item in inpu)
             {
                 if (contrato.ListaImpuestos == null)
                 {
                     contrato.ListaImpuestos = new List <TipoImpuestosServicios>();
                 }
                 contrato.ListaImpuestos.Add(new TipoImpuestosServicios()
                 {
                     Codigo = int.Parse(item.Trim())
                 });
             }
             if (Information.IsNumeric(collection.idPersonaGarantePropietario))
             {
                 var garProp = new GarantePropietario();
                 garProp.Domicilio        = new Domicilios();
                 garProp.Domicilio.Barrio = collection.BarrioGarantePropietario;
                 garProp.Domicilio.Calle  = collection.CalleGarantePropietario;
                 garProp.Domicilio.Ciudad = collection.CiudadGarantePropietario;
                 garProp.Domicilio.CP     = collection.CPGarantePropietario;
                 garProp.Domicilio.Dto    = collection.DepartamentoGarantePropietario;
                 if (Information.IsNumeric(collection.NumeroGarantePropietario))
                 {
                     garProp.Domicilio.Numero = int.Parse(collection.NumeroGarantePropietario);
                 }
                 if (Information.IsNumeric(collection.PisoGarantePropietario))
                 {
                     garProp.Domicilio.Piso = int.Parse(collection.PisoGarantePropietario);
                 }
                 garProp.PersonasId          = int.Parse(collection.idPersonaGarantePropietario);
                 contrato.GarantePropietario = garProp;
             }
             contratoBll.Add(contrato);
             ViewBag.TipoMsj = "Success";
             ViewBag.Message = "El contrato se registro con Exito!!!";
             return(View());
         }
         else
         {
             ViewBag.TipoMsj = "Info";
             ViewBag.Message = string.Join("; ", ModelState.Values
                                           .SelectMany(x => x.Errors)
                                           .Select(x => x.ErrorMessage));
             return(View(collection));
         }
     }
     catch (Exception ex)
     {
         ViewBag.TipoMsj = "Error";
         ViewBag.Message = ex.Message;
         return(View(collection));
     }
 }