示例#1
0
 protected internal override bool esValido()
 {
     estudiante = ctx.estudiantes.Where(t => t.identificacion == oDto.id_estudiante).FirstOrDefault();
     if (estudiante != null)
     {
         mCausacion.Causar(estudiante.identificacion);
         UltLiqui = ctx.pagos.Where(t => t.estado == "LI" && t.id_estudiante == oDto.id_estudiante).FirstOrDefault();
         if (UltLiqui == null)
         {
             pagos pagoMax = ctx.pagos.Where(t => t.estado == "PA").OrderByDescending(t => t.id).FirstOrDefault();
             if (pagoMax == null) return true;
             {
                 if (pagoMax.fecha_pago.Value.Date <= oDto.fecha.Date) return true;
                 else
                 {
                     byaRpt.Error = true;
                     byaRpt.Mensaje = "No se puede realizar la liquidación en la fecha indicada, porque hay un pago con una fecha mayor registrada";
                     return false;
                 }
             }
         }
         else
         {
             byaRpt.Error = true;
             byaRpt.Mensaje = "El estudiante tiene una liquidación sin pagar";
             return false;
         }
     }
     else
     {
         byaRpt.Error = true;
         byaRpt.Mensaje = "La identificación del estudiante no se encuantra registrada";
         return false;
     }
 }
示例#2
0
            protected internal override void Antes()
            {
                int UltId = 0;
                try
                {
                    UltId = ctx.pagos.Max(t => t.id);
                }
                catch { }

                ultIdFechaCalculoIntereses = 0;
                try
                {
                    ultIdFechaCalculoIntereses = ctx.fechas_calculo_intereses.Max(t => t.id);
                }
                catch { }

                UltId++;
                oDto.id = UltId;
                oDto.fecha_pago = null;
                oDto.id_forma_pago = 1;
                oDto.estado = "LI";
                oDto.id_est = estudiante.id;
                oDto.tipo = "PL";
                oDto.fecha = oDto.fecha.Date;

                oDto.fecha_max_pago = CalcularFechaVencimientoLiquidacion();

                detalles_pago = oDto.detalles_pago;
                oDto.detalles_pago = null;

                Dto = new pagos();
                Mapper.Map(oDto,Dto);
                _cmpReg();
                ctx.pagos.Add(Dto);
                InsertDetallesPagos();
            }
示例#3
0
            protected internal override void Antes()
            {
                int UltId = UltPIdPago();

                UltIdFechaIntereses();

                UltId++;
                oDto.id = UltId;
                oDto.id_forma_pago = 1;
                oDto.estado = "PA";
                oDto.id_est = estudiante.id;
                oDto.tipo = "PS";

                detalles_pago = oDto.detalles_pago;
                oDto.detalles_pago = null;

                Dto = new pagos();
                Mapper.Map(oDto, Dto);

                _cmpReg();

                ctx.pagos.Add(Dto);

                InsertDetallesPagos();
                CambiarFechaCausacion();
            }
示例#4
0
 protected internal override bool esValido()
 {
     pago = ctx.pagos.Where(t => t.id == id_pago).FirstOrDefault();
     if (pago != null)
     {
         if (pago.estado == "LI")
         {
             pagos pag = ctx.pagos.Where(t => t.id_estudiante == pago.id_estudiante && t.estado != "AN").OrderByDescending(t => t.fecha).ThenByDescending(t=> t.id).FirstOrDefault();
             if (pag.id == pago.id) return true;
             else
             {
                 byaRpt.Error = true;
                 byaRpt.Mensaje = "Solo se puede anular la última liqudiación realizada";
                 return false;
             }
         }
         else
         {
             byaRpt.Error = true;
             byaRpt.Mensaje = "La liquidación no esta en estado Liquidado";
             return false;
         }
     }
     else
     {
         byaRpt.Error = true;
         byaRpt.Mensaje = "El número de liquidación no puede ser encontrada";
         return false;
     }
 }
示例#5
0
            protected internal override bool esValido()
            {
                Dto = ctx.pagos.Where(t => t.id == oDto.id && t.estado == "LI").FirstOrDefault();
                if (Dto != null)
                {
                    if (Dto.fecha <= oDto.fecha_pago)
                    {
                        if ((oDto.fecha_pago <= Dto.fecha_max_pago) || (Dto.fecha_max_pago == null) || (oDto.VerificadoIntereses == true))
                        {
                            pagos pagoMax = ctx.pagos.Where(t => t.estado == "PA").OrderByDescending(t => t.id).FirstOrDefault();
                            if (pagoMax == null) return true;
                            else
                            {
                                if (pagoMax.fecha_pago.Value.Date <= oDto.fecha_pago.Value.Date) return true;
                                else
                                {
                                    byaRpt.id = "false";
                                    byaRpt.Error = true;
                                    byaRpt.Mensaje = "No se puede realizar el pago en la fecha de pago indicada, porque hay un pago con una fecha mayor registrada";
                                    return false;
                                }
                            }
                        }
                        else
                        {
                            byaRpt.id = "true";
                            byaRpt.Error = true;
                            byaRpt.Mensaje = "El pago fue realizado despues de la fecha de vencimiento, por lo cual se han generado nuevos " +
                                             "intereses como se muestra a continuación: </br></br>" +
                                             VerificarInteresesDetallesPago() +
                                             "¿Que desea hacer con los intereses?</br>"+
                                             "- <strong>Obviar:</strong> se registrara el pago ignorando los intereses.</br>" +
                                             "- <strong>Causar:</strong> se causaran los intereses para pagarlos despues, y se registrata el pago.";

                            return false;
                        }
                    }
                    else
                    {
                        byaRpt.id = "false";
                        byaRpt.Error = true;
                        byaRpt.Mensaje = "No se puede realizar el pago en la fecha de pago indicada, porque la fecha de liquidación es menor";
                        return false;
                    }
                }
                else
                {
                    byaRpt.id = "false";
                    byaRpt.Error = true;
                    byaRpt.Mensaje = "No se encuentra la liquidación";
                    return false;
                }
            }