public ActionResult Insert(Propiedad propiedad)
        {
            if (!ModelState.IsValid)
            {
                return(View("InsertForm", propiedad));
            }

            var retval = Propiedad_Conexion.Insert(propiedad);

            if (ErrorCodes.errorCodes.ContainsKey(retval))
            {
                TempData["WarningMessage"] = ErrorCodes.errorCodes[retval];
                return(View("InsertForm", propiedad));
            }

            TempData["SuccessfulMessage"] = "propiedad agregada";
            return(View("InsertForm", new Propiedad()));
        }
        public ActionResult Update(Propiedad propiedad)
        {
            if (!ModelState.IsValid)
            {
                return(View("UpdateForm", propiedad));
            }

            var retval = Propiedad_Conexion.Update(propiedad);

            if (ErrorCodes.errorCodes.ContainsKey(retval))
            {
                TempData["WarningMessage"] = ErrorCodes.errorCodes[retval];
                return(View("UpdateForm", propiedad));
            }

            TempData["SuccessfulMessage"] = "correctamente";
            return(View("UpdateForm", propiedad));
        }
        public ActionResult Detail(int numeroFinca)
        {
            Propiedad          propiedad    = Propiedad_Conexion.SelectPropiedad(numeroFinca);
            List <Propietario> propietarios = Propiedad_del_Propietario_Conexion.SelectPropiedadDetail(numeroFinca);


            //Conceptos de Cobro
            List <Concepto_De_Cobro_En_Propiedad> CC_Fijo    = Concepto_De_Cobro_En_Propiedad_Conexion.Select(numeroFinca, Tipo_CC.Fijo);
            List <Concepto_De_Cobro_En_Propiedad> CC_Consumo = Concepto_De_Cobro_En_Propiedad_Conexion.Select(numeroFinca, Tipo_CC.Consumo);
            List <Concepto_De_Cobro_En_Propiedad> CC_Intereses_Moratiorios = Concepto_De_Cobro_En_Propiedad_Conexion.Select(numeroFinca, Tipo_CC.Intereses_Moratorios);
            List <Concepto_De_Cobro_En_Propiedad> CC_Porcentaje            = Concepto_De_Cobro_En_Propiedad_Conexion.Select(numeroFinca, Tipo_CC.Porcentaje);
            List <Usuario> usuarios = Usuario_de_Propiedad_Conexion.SelectPropiedadDetail(numeroFinca);

            PropiedadDetailViewModel propiedadDetail = new PropiedadDetailViewModel()
            {
                propiedad                = propiedad,
                propietarios             = propietarios,
                CC_Fijo                  = CC_Fijo,
                CC_Consumo               = CC_Consumo,
                CC_Intereses_Moratiorios = CC_Intereses_Moratiorios,
                CC_Porcentaje            = CC_Porcentaje,
                usuarios                 = usuarios
            };


            //Recibos de todos los comprobantes de pago

            propiedadDetail.recibos = new ReciboViewModel()
            {
                numeroFinca       = numeroFinca,
                recibosPendientes = Recibo_Conexion.Select(numeroFinca, EstadoRecibo.PENDIENTE),
                recibosPagados    = Recibo_Conexion.Select(numeroFinca, EstadoRecibo.PAGADO),
            };


            //APs De la propiedad
            propiedadDetail.APs = AP_Conexion.Select(numeroFinca);


            return(View(propiedadDetail));
        }
        public ActionResult Index()
        {
            List <Propiedad>        listPropiedades;
            PropiedadIndexViewModel propiedadIndex;

            //ADMINISTRADOR
            if (User.Identity.IsAuthenticated && @CurrentUser.Role == Roles.administrador)
            {
                listPropiedades = Propiedad_Conexion.Select();

                propiedadIndex = new PropiedadIndexViewModel()
                {
                    propiedades = listPropiedades
                };

                return(View(propiedadIndex));
            }

            //USUARIO
            else if (User.Identity.IsAuthenticated && @CurrentUser.Role == Roles.usuario)
            {
                listPropiedades = Usuario_de_Propiedad_Conexion.SelectUsuarioDetail(@CurrentUser.Name);

                propiedadIndex = new PropiedadIndexViewModel()
                {
                    propiedades = listPropiedades
                };

                return(View(propiedadIndex));
            }



            else
            {
                return(HttpNotFound());
            }
        }
 //[HttpPost]
 public void Delete(int numeroFinca)
 {
     var code = Propiedad_Conexion.Delete(numeroFinca);
 }