public RetornaMensaje EliminarVivienda(string codVivienda)
 {
     ViviendaBE vivienda = new ViviendaBE();
     try
     {
         retornaMensaje = new RetornaMensaje();
         viviendaDAO = new ViviendaDAO();
         retornaMensaje.Exito = viviendaDAO.Eliminar(Convert.ToInt32(codVivienda));
         if(    retornaMensaje.Exito )
             retornaMensaje = new RetornaMensaje
         {
             Mensage = string.Format(resMensajes.msjEliminadoOK, "Vivienda"),
             CodigoError = "-1",
             Exito = false
         };
     }
     catch (Exception exception)
     {
         RetornaMensaje mensajeError = new RetornaMensaje
         {
             Mensage = string.Format(resMensajes.msjNoEliminado, "Vivienda"),
             CodigoError = exception.GetHashCode().ToString(),
             Exito = false
         };
         throw new WebFaultException<RetornaMensaje>(mensajeError, HttpStatusCode.InternalServerError);
     }
     return retornaMensaje;
 }
 /// <summary>
 /// Actualiza un registro de cuota de una vivienda del Condominio
 /// </summary>
 /// <param name="pIdCuota"></param>
 /// <param name="pPeriodo"></param>
 /// <param name="pIdVivienda"></param>
 /// <param name="pIdTipoPago"></param>
 /// <param name="pImporte"></param>
 /// <param name="pFecVncto"></param>
 /// <returns></returns>
 public RetornaMensaje ActualizarCuota(int pIdCuota, string pPeriodo, int pIdVivienda, double pImporte, string pFecVncto)
 {
     try
     {
         retornaMensaje = new RetornaMensaje();
         cuotaDAO = new CuotaDAO();
         Cuota cuotaBuscar = null;
         cuotaBuscar = cuotaDAO.Buscar(pPeriodo, pIdVivienda);
         if (cuotaBuscar != null)
         {
             Cuota cuota = new Cuota
             {
                 N_IdCuota = pIdCuota,
                 C_Periodo = pPeriodo,
                 N_IdVivienda = pIdVivienda,
                 N_Importe = Convert.ToDecimal(pImporte),
                 D_FecVncto = Convert.ToDateTime(pFecVncto)
             };
             retornaMensaje.CodigoRetorno = cuotaDAO.Actualizar(cuota);
             retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK, "Cuota");
             retornaMensaje.Exito = true;
         }
         else
         {
             retornaMensaje.CodigoRetorno = -1;
             retornaMensaje.Mensage = string.Format(resMensajes.msjYaExiste, "Cuota");
             retornaMensaje.Exito = false;
         }
     }
     catch (Exception exception)
     {
         throw new FaultException<RetornaMensaje>
             (new RetornaMensaje
             {
                 Mensage = string.Format(resMensajes.msjNoRegistrado, "Cuota"),
                 CodigoError = exception.GetHashCode().ToString(),
                 Exito = false
             }
             , new FaultReason(exception.Message));
     }
     return retornaMensaje;
 }
        public RetornaMensaje CrearVivienda(ViviendaBE viviendaCrear)
        {
            //List<ViviendaBE> lstViviendaBuscar = null;
            try
            {
                retornaMensaje = new RetornaMensaje();
                viviendaDAO = new ViviendaDAO();
                //lstViviendaBuscar = viviendaDAO.Buscar(viviendaCrear);
                //if (lstViviendaBuscar.Count == 0)
                //{
                    retornaMensaje.CodigoRetorno = viviendaDAO.Registrar(viviendaCrear);
                    retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK, "Vivienda");
                    retornaMensaje.Exito = true;
                //}
                //else
                //{
                //    RetornaMensaje mensajeError = new RetornaMensaje
                //    {
                //        CodigoRetorno = -1,
                //        Mensage = string.Format(resMensajes.msjYaExiste, "Vivienda"),
                //        Exito = false,
                //    };
                //    throw new WebFaultException<RetornaMensaje>(mensajeError, HttpStatusCode.InternalServerError);
                //}
            }
            catch (Exception exception)
            {

                 RetornaMensaje mensajeError = new RetornaMensaje
                    {
                        Mensage = string.Format(resMensajes.msjNoRegistrado + " - " + exception.Message, "Vivienda"),
                        CodigoError = exception.GetHashCode().ToString(),
                        Exito = false
                    };
                 throw new WebFaultException<RetornaMensaje>(mensajeError, HttpStatusCode.InternalServerError);

            }
            return retornaMensaje;
        }
        public RetornaMensaje RegistrarTipoPago(string Descripcion)
        {
            try
            {
                retornaMensaje = new RetornaMensaje();
                tipoPagoDAO = new TipoPagoDAO();
                TipoPago tipoPago = new TipoPago();

                tipoPago.B_Estado = true;
                tipoPago.C_Descripcion = Descripcion;

                retornaMensaje.CodigoRetorno = tipoPagoDAO.Registrar(tipoPago);
                retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK, "Tipo de Pago");
                retornaMensaje.Exito = true;
            }
            catch (Exception exception)
            {
                throw new FaultException<RetornaMensaje>
                                   (new RetornaMensaje
                                   {
                                       Mensage = string.Format(resMensajes.msjNoRegistrado, "Tipo de Pago"),
                                       CodigoError = exception.GetHashCode().ToString(),
                                       Exito = false
                                   }
                                   , new FaultReason(exception.Message));
            }
            return retornaMensaje;
        }
        public RetornaMensaje PagarCuota(int pIdCuota, string pFecPago, string pNumDeposito, int pTipoPago)
        {
            retornaMensaje = new RetornaMensaje();
            try
            {
                try
                {
                    DateTime fechaPago = Convert.ToDateTime(pFecPago);
                }
                catch (Exception ex)
                {
                    retornaMensaje.CodigoRetorno = -1;
                    retornaMensaje.Mensage = string.Format("Firmato de fecha es INCORRECTO.", "Cuota");
                    retornaMensaje.Exito = false;
                    return retornaMensaje;
                }
                //** SE GUARDARA EL PAGO DEL CLIENTE EN UNA COLA DE MENSAJES.

                string rutaCola = ConfigurationManager.AppSettings["DireccionMSQColas"].ToString(); // @".\private$\CondominioCola";
                if (!MessageQueue.Exists(rutaCola))
                    MessageQueue.Create(rutaCola);
                MessageQueue cola = new MessageQueue(rutaCola);
                Message mensaje = new Message();
                mensaje.Label = "Nuevo Pago registrado de RESIDENTE ";
                mensaje.Body = new Cuota()
                {
                    D_FecPago = Convert.ToDateTime(pFecPago),
                    C_NumDeposito = pNumDeposito,
                    N_IdCuota = pIdCuota,
                    N_IdTipoPago = pTipoPago
                };
                cola.Send(mensaje);
                retornaMensaje.CodigoRetorno = 1;
                retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK+" , En cola para su validaciĆ³n.", "Cuota");
                retornaMensaje.Exito = true;

                //retornaMensaje = new RetornaMensaje();
                //cuotaDAO = new CuotaDAO();
                //Cuota cuotaBuscar = null;
                //cuotaBuscar = cuotaDAO.Buscar(pPeriodo, pIdVivienda);
                //if (cuotaBuscar != null)
                //{
                //    Cuota cuota = new Cuota
                //    {
                //        N_IdCuota = pIdCuota,
                //        C_Periodo = pPeriodo,
                //        N_IdVivienda = pIdVivienda,
                //        N_Importe = Convert.ToDecimal(pImporte),
                //        D_FecVncto = Convert.ToDateTime(pFecVncto)
                //    };
                //    retornaMensaje.CodigoRetorno = cuotaDAO.Actualizar(cuota);
                //    retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK, "Cuota");
                //    retornaMensaje.Exito = true;
                //}
                //else
                //{
                //    retornaMensaje.CodigoRetorno = -1;
                //    retornaMensaje.Mensage = string.Format(resMensajes.msjYaExiste, "Cuota");
                //    retornaMensaje.Exito = false;
                //}
            }
            catch (Exception exception)
            {
                throw new FaultException<RetornaMensaje>
                    (new RetornaMensaje
                    {
                        Mensage = string.Format(resMensajes.msjNoRegistrado, "Cuota"),
                        CodigoError = exception.GetHashCode().ToString(),
                        Exito = false
                    }
                    , new FaultReason(exception.Message));
            }
            return retornaMensaje;
        }
 /// <summary>
 /// Permite eliminar Cuota por Id de Registro
 /// </summary>
 /// <param name="pIdCuota"></param>
 /// <returns></returns>
 public RetornaMensaje EliminarCuota(int pIdCuota)
 {
     retornaMensaje = new RetornaMensaje();
     try
     {
         cuotaDAO = new CuotaDAO();
         Cuota cuotaEliminar = new Cuota();
         cuotaEliminar = cuotaDAO.Buscar(pIdCuota);
         if (cuotaEliminar.N_IdCuota > 0)
         {
             cuotaDAO.Eliminar(pIdCuota);
             retornaMensaje.CodigoRetorno = 0;
             retornaMensaje.Mensage = string.Format(resMensajes.msjEliminadoOK, "Cuota");
             retornaMensaje.Exito = true;
         }
         else
         {
             retornaMensaje.CodigoRetorno = -1;
             retornaMensaje.Mensage = string.Format(resMensajes.msjNoBuscado, "Cuota");
             retornaMensaje.Exito = false;
         }
     }
     catch (Exception exception)
     {
         throw new FaultException<RetornaMensaje>
             (new RetornaMensaje
             {
                 Mensage = string.Format(resMensajes.msjNoEliminado, "Cuota"),
                 CodigoError = exception.GetHashCode().ToString(),
                 Exito = false
             }
             , new FaultReason(exception.Message));
     }
     return retornaMensaje;
 }
 public ViviendaBE ObtenerVivienda(string codVivienda)
 {
     ViviendaBE vivienda = new ViviendaBE();
     try
     {
         retornaMensaje = new RetornaMensaje();
         viviendaDAO = new ViviendaDAO();
         vivienda = viviendaDAO.Buscar(Convert.ToInt32(codVivienda));
     }
     catch (Exception exception)
     {
         RetornaMensaje mensajeError = new RetornaMensaje
             {
                  Mensage = string.Format(resMensajes.msjNoBuscado, "Vivienda"),
                 CodigoError = exception.GetHashCode().ToString(),
                 Exito = false
             };
         throw new WebFaultException<RetornaMensaje>(mensajeError, HttpStatusCode.InternalServerError);
     }
     return vivienda;
 }