/// <summary>
 /// Retorna una ENTIDAD de registro de la Entidad Gestion.Cuota
 /// En la BASE de DATO la Tabla : [Gestion.Cuota]
 /// <summary>
 /// <returns>Entidad</returns>
 public Cuota Buscar(int prm_N_IdCuota)
 {
     Cuota cuota = new Cuota();
     try
     {
         using (DBMLPagosDataContext SQLDC = new DBMLPagosDataContext(conexion))
         {
             var resul = SQLDC.dsd_mnt_S_CuotaId(prm_N_IdCuota);
             foreach (var item in resul)
             {
                 cuota = new Cuota()
                 {
                     N_IdCuota = item.N_IdCuota,
                     C_Periodo = item.C_Periodo,
                     N_IdVivienda = item.N_IdVivienda,
                     N_IdTipoPago = item.N_IdTipoPago,
                     N_Importe = item.N_Importe,
                     D_FecVncto = item.D_FecVncto,
                     D_FecPago = item.D_FecPago,
                 };
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return cuota;
 }
 /// <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, int pIdTipoPago, decimal pImporte, DateTime pFecVncto)
 {
     RetornaMensaje retornaMensaje = new RetornaMensaje();
     try
     {
         CuotaBL cuotaBL = new CuotaBL();
         Cuota cuota = new Cuota
         {
             N_IdCuota = pIdCuota,
             C_Periodo = pPeriodo,
             N_IdVivienda = pIdVivienda,
             N_IdTipoPago = pIdTipoPago,
             N_Importe = pImporte,
             D_FecVncto = pFecVncto
         };
         retornaMensaje.CodigoRetorno = cuotaBL.Actualizar(cuota);
         retornaMensaje.Mensage = string.Format(resMensajes.msjGuardadoOK, "Cuota");
     }
     catch (Exception exception)
     {
         throw new FaultException<RetornaMensaje>
             (new RetornaMensaje
             {
                 Mensage = string.Format(resMensajes.msjNoRegistrado, "Cuota"),
                 CodigoError = exception.GetHashCode().ToString()
             }
             , new FaultReason(exception.Message));
     }
     return retornaMensaje;
 }
        public void EliminarCuotaTest()
        {
            SOAPagosService.PagosServiceClient proxy = new SOAPagosService.PagosServiceClient();
            RetornaMensaje retornaMensaje = null;
            try
            {
                int pIdCuota = 6;
                retornaMensaje = proxy.EliminarCuota(pIdCuota);
                Assert.AreNotEqual(-1, retornaMensaje.CodigoRetorno);

                Cuota cuotaEliminada = new Cuota();
                cuotaEliminada = proxy.BuscarCuota(pIdCuota);
                Assert.AreNotEqual(pIdCuota, cuotaEliminada.N_IdCuota);
            }
            catch (FaultException<RetornaMensaje> exception)
            {
                Console.WriteLine("Error : {0}", exception.Detail.Mensage);
            }
        }
 /// <summary>
 /// Permite buscar cuota por Id de registro
 /// </summary>
 /// <param name="pIdCuota"></param>
 /// <returns></returns>
 public Cuota BuscarCuota(int pIdCuota)
 {
     Cuota cuota = new Cuota();
     try
     {
         CuotaBL cuotaBL = new CuotaBL();
         cuota = cuotaBL.Buscar(pIdCuota);
     }
     catch (Exception exception)
     {
         throw new FaultException<RetornaMensaje>
             (new RetornaMensaje
             {
                 Mensage = string.Format(resMensajes.msjNoBuscado, "Cuota"),
                 CodigoError = exception.GetHashCode().ToString()
             }
             , new FaultReason(exception.Message));
     }
     return cuota;
 }
 /// <summary>
 /// Almacena el registro de una ENTIDAD de registro de Tipo Cuota
 /// En la BASE de DATO la Tabla : [Gestion.Cuota]
 /// <summary>
 /// <param name = >itemCuota</param>
 public int Actualizar(Cuota pcuota)
 {
     int codigoRetorno = -1;
     try
     {
         using (DBMLPagosDataContext SQLDC = new DBMLPagosDataContext(conexion))
         {
             codigoRetorno = SQLDC.dsd_mnt_U_Cuota(
                 pcuota.N_IdCuota,
                 pcuota.C_Periodo,
                 pcuota.N_IdVivienda,
                 pcuota.N_IdTipoPago,
                 pcuota.N_Importe,
                 pcuota.D_FecVncto);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return codigoRetorno;
 }
        public void ActualizarCuotaTest()
        {
            SOAPagosService.PagosServiceClient proxy = new SOAPagosService.PagosServiceClient();
            RetornaMensaje retornaMensaje = null;
            Cuota cuotaRegistrada = new Cuota();

            int pIdCuota = 6;
            string pPeriodo = "201401";
            int pIdVivienda = 2;
            int pIdTipoPago = 1;
            decimal pImporte = 150;
            DateTime pFecVncto = DateTime.Now;
            try
            {
                retornaMensaje = proxy.ActualizarCuota(pIdCuota, pPeriodo, pIdVivienda, pIdTipoPago, pImporte, pFecVncto);

                Assert.AreNotEqual(1, retornaMensaje.CodigoRetorno);
            }
            catch (FaultException<RetornaMensaje> exception)
            {
                Console.WriteLine("Error : {0}", exception.Detail.Mensage);
            }
        }
 /// <summary>
 /// Almacena el registro de una ENTIDAD de registro de Tipo Cuota
 /// En la BASE de DATO la Tabla : [Gestion.Cuota]
 /// <summary>
 /// <param name = >pcuota</param>
 public int Registrar(Cuota pcuota)
 {
     int? codigoRetorno = -1;
     try
     {
         using (DBMLPagosDataContext SQLDC = new DBMLPagosDataContext(conexion))
         {
             SQLDC.dsd_mnt_I_Cuota(
                 ref codigoRetorno,
                 pcuota.C_Periodo,
                 pcuota.N_IdVivienda,
                 pcuota.N_IdTipoPago,
                 pcuota.N_Importe,
                 pcuota.D_FecVncto);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return codigoRetorno == null ? 0 : codigoRetorno.Value;
 }
        /// <summary>
        /// Retorna un LISTA de registros de la Entidad Gestion.Cuota
        /// En la BASE de DATO la Tabla : [Gestion.Cuota]
        /// <summary>
        /// <returns>List</returns>
        public List<Cuota> Listar(string prm_C_Periodo)
        {
            List<Cuota> lstCuota = new List<Cuota>();
            try
            {
                using (DBMLPagosDataContext SQLDC = new DBMLPagosDataContext(conexion))
                {
                    var resul = SQLDC.dsd_mnt_S_Cuota(prm_C_Periodo);

                    foreach (var item in resul)
                    {
                        Cuota cuota = new Cuota();
                        cuota.N_IdCuota = item.N_IdCuota;
                        cuota.C_Periodo = item.C_Periodo;
                        cuota.N_IdVivienda = item.N_IdVivienda;
                        cuota.N_IdTipoPago = item.N_IdTipoPago;
                        cuota.N_Importe = item.N_Importe;
                        cuota.D_FecVncto = item.D_FecVncto;
                        cuota.D_FecPago = item.D_FecPago;
                        cuota.objTipoPago.C_Descripcion = item.V_IdTipoPago;
                        cuota.objVivienda.C_NumDpto = item.C_NumDpto;
                        cuota.objVivienda.C_NumEdificio = item.C_NumEdificio;
                        lstCuota.Add(cuota);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return lstCuota;
        }
        public void RegistrarCuotaTest()
        {
            SOAPagosService.PagosServiceClient proxy = new SOAPagosService.PagosServiceClient();
            RetornaMensaje retornaMensaje = null;
            Cuota cuotaRegistrada = new Cuota();

            string C_Periodo = "201401";
            int N_IdVivienda=9;
            int N_IdTipoPago=1;
            decimal N_Importe = 120;
            DateTime D_FecVncto = DateTime.Now;
            try
            {
                retornaMensaje = proxy.RegistrarCuota(C_Periodo, N_IdVivienda, N_IdTipoPago, N_Importe, D_FecVncto);

                Assert.AreNotEqual(0, retornaMensaje.CodigoRetorno);
            }
            catch (FaultException<RetornaMensaje> exception)
            {
                Console.WriteLine("Error : {0}", exception.Detail.Mensage);
            }
        }
 /// <summary>
 /// Permite eliminar Cuota por Id de Registro
 /// </summary>
 /// <param name="pIdCuota"></param>
 /// <returns></returns>
 public RetornaMensaje EliminarCuota(int pIdCuota)
 {
     RetornaMensaje retornaMensaje = new RetornaMensaje();
     try
     {
         CuotaBL cuotaBL = new CuotaBL();
         Cuota cuotaEliminar = new Cuota();
         cuotaEliminar = cuotaBL.Buscar(pIdCuota);
         if (cuotaEliminar.N_IdCuota > 0)
         {
             cuotaBL.Eliminar(pIdCuota);
             retornaMensaje.CodigoRetorno = 0;
             retornaMensaje.Mensage = string.Format(resMensajes.msjEliminadoOK, "Cuota");
         }
         else
         {
             retornaMensaje.CodigoRetorno = -1;
             retornaMensaje.Mensage = string.Format(resMensajes.msjNoBuscado, "Cuota");
         }
     }
     catch (Exception exception)
     {
         throw new FaultException<RetornaMensaje>
             (new RetornaMensaje
             {
                 Mensage = string.Format(resMensajes.msjNoEliminado, "Cuota"),
                 CodigoError = exception.GetHashCode().ToString()
             }
             , new FaultReason(exception.Message));
     }
     return retornaMensaje;
 }