Esempio n. 1
0
        protected void btnPagar_Click(object sender, EventArgs e)
        {
            String  id           = Session["id"].ToString();
            decimal encargado_id = Convert.ToDecimal(id);                  //encargado_id
            var     en           = (from x in Conexion.Entidades.ENCARGADO //id del curso del encargado
                                    where x.ENCARGADO_ID == encargado_id
                                    select x.CURSO_ID_CURSO).First();

            var con = (from j in Conexion.Entidades.CONTRATO
                       where j.ENCARGADO_ENCARGADO_ID == en
                       select j.CONTRATO_ID).First();


            var cant_al = (from y in Conexion.Entidades.ALUMNO               //cantidad de alumnos asignados al curso del encargado
                           where y.CURSO_ID_CURSO == en
                           select y).Count();

            var al = (from k in Conexion.Entidades.ALUMNO           //lista objeto ALUMNO
                      where k.CURSO_ID_CURSO == en
                      select k);

            int montoTotal = Int32.Parse(tbxMonto.Text); //monto pago

            int montoRepartir = montoTotal / cant_al;

            foreach (var i in al)
            {
                i.DEUDA = i.DEUDA - montoRepartir;
            }
            //REGISTRO EN TABLA PAGO
            var     pagId   = (from p in Conexion.Entidades.PAGO select p.PAGO_ID).Max();
            decimal pago_id = pagId + 1;  //pago id

            //fecha pago
            DateTime fecha = System.DateTime.Today;

            Nullable <Decimal> apoderado_id = null;


            //descripcion
            string descripcion = tbxDescripcion.Text;
            PAGO   pago        = new PAGO();

            pago.PAGO_ID                = pago_id;
            pago.FECHA_PAGO             = fecha;
            pago.MONTO_PAGO             = montoTotal;
            pago.CONTRATO_CONTRATO_ID   = con;
            pago.APODERADO_APODERADO_ID = apoderado_id;
            pago.ENCARGADO_ENCARGADO_ID = encargado_id;
            pago.DESCRIPCION            = descripcion;

            Conexion.Entidades.PAGO.Add(pago);



            Conexion.Entidades.SaveChanges();


            Response.Redirect("EncargadoTemp.aspx");
        }
Esempio n. 2
0
        public List <PAGO> Obtener_Pago(SQLSentencia objsentencia)
        {
            List <PAGO> lstPago = new List <PAGO>();

            System.Data.DataTable dt = new System.Data.DataTable();
            try
            {
                SqlCommand cmd = new SqlCommand();

                cmd.CommandText = objsentencia.PETICION;
                cmd.Connection  = objConexion;
                cmd.CommandType = System.Data.CommandType.Text;

                SqlDataAdapter objcarga = new SqlDataAdapter(cmd);
                objcarga.Fill(dt);

                foreach (System.Data.DataRow item in dt.Rows)
                {
                    PAGO objPago = new PAGO();
                    objPago.IDPAGO    = Convert.ToInt16(item.ItemArray[0].ToString());
                    objPago.DESC_PAGO = item.ItemArray[1].ToString();
                    lstPago.Add(objPago);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                this.CERRAR();
            }

            return(lstPago);
        }
Esempio n. 3
0
 private void btnBuscar_Click(object sender, EventArgs e)
 {
     try
     {
         if (!txtIdPago.Text.Equals(""))
         {
             PAGO pedidoIdUser = new PAGO();
             pedidoIdUser.IDPAGO = Convert.ToInt32(txtIdPago.Text.Trim());
             List <PAGO> lstPedidos = _02LogicadeNegocios.Logica.BuscarDatoA(pedidoIdUser);
             this.dataGrid.DataSource = lstPedidos;
             this.dataGrid.Refresh();
         }
         else if (!txtIdPago.Text.Equals(""))
         {
             PAGO pedidoIdUser = new PAGO();
             pedidoIdUser.DESC_PAGO = txtDescPago.Text.Trim();
             List <PAGO> lstPedidos = _02LogicadeNegocios.Logica.BuscarDatoB(pedidoIdUser);
             this.dataGrid.DataSource = lstPedidos;
             this.dataGrid.Refresh();
         }
         else if (txtIdPago.Text.Equals("") && txtDescPago.Text.Equals(""))
         {
             CargarPago();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al Buscar Datos de Tabla Pagos" + ex.Message);
     }
     Limpiar();
 }
 public JsonResult PagarGastosComunes(FormCollection collection)
 {
     try
     {
         PagosDAL bd      = new PagosDAL();
         PAGO     nuevo   = new PAGO();
         int      monto   = int.Parse(collection["Total"].ToString());
         string   _gastos = collection["Gastos"].ToString();
         int      tipo    = int.Parse(collection["TipoPago"].ToString());
         string[] gastos  = _gastos.Split(',');
         nuevo.ID_TIPO_PAGO = tipo;
         nuevo.MONTO_PAGO   = monto;
         nuevo.DOCUMENTO    = "BOLETA - N° " + collection["NumeroBoleta"].ToString();;
         nuevo.FECHA        = DateTime.Now;
         int id_pago = bd.PagarGastoComun(nuevo, gastos);
         var model   = id_pago.ToString() + ';' + nuevo.DOCUMENTO;
         if (id_pago > 0)
         {
             var result = new { Success = true, Message = "Succes Message", model };
             return(Json(result, JsonRequestBehavior.AllowGet));
         }
         else
         {
             var result = new { Success = false, Message = "Error Message" };
             return(Json(result, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         var result = new { Success = false, Message = "Error Message" };
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
 }
Esempio n. 5
0
        public void Delete(int Id)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioPAGO repositorio = new RepositorioPAGO(context);
                    PAGO            _PAGO       = repositorio.GetById(Id);

                    if (Equals(_PAGO, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PAGO con Id =", Id.ToString()));
                    }

                    _PAGO.ACTIVO = false;

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
Esempio n. 6
0
        public PAGO InsertNewPago(PAGO newPago)
        {
            try
            {
                using (FeriaVirtualEntities db = new FeriaVirtualEntities())
                {
                    PAGO pago = new PAGO
                    {
                        IDPAGO        = DatabaseUtil.GetNextIDPago(),
                        FECHA         = DateTime.Now,
                        TOTAL         = newPago.TOTAL,
                        ORDEN_IDORDEN = newPago.ORDEN_IDORDEN
                    };
                    db.PAGO.Add(pago);
                    db.SaveChanges();

                    UpdateRecepcionadoToPagado(pago.ORDEN_IDORDEN);

                    return(pago);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 7
0
        public PAGO processoBase()
        {
            PAGO pago = new PAGO();

            pago.IDPAGO    = Convert.ToInt16(txtIdPago.Text.Trim());
            pago.DESC_PAGO = txtDescPago.Text.Trim();
            return(pago);
        }
        public JsonResult FormalizarPago(VENTA venta)
        {
            var ordenid = collection.GetOrdenIdByProcedoId(venta.PROCESOVENTA_IDPROCESOVENTA);
            var pago    = new PAGO
            {
                TOTAL         = venta.COSTOTOTAL,
                ORDEN_IDORDEN = ordenid
            };
            var PagoM      = new PagoManager();
            var insertPago = PagoM.InsertNewPago(pago);

            return(Json(insertPago));
        }
        public ActionResult Create(PAGO pago)
        {
            if (ModelState.IsValid)
            {
                List <Producto> carro   = (List <Producto>)Session["carro"];
                Usuario         usuario = (Usuario)Session["usuario"];

                db.registrarPago(usuario.idUsuario, pago.in_id_tipopaVisa, pago.in_id_tipopaMastercard, pago.vc_dsc_numerotar, pago.fechaven, pago.cvc, pago.documentopaga);
                int?idVentaGenerada = db.PAGO.Max(v => v.in_id_pago);
                foreach (Producto prod in carro)
                {
                    db.registrarDetallePago(idVentaGenerada, prod.idProducto, prod.cantidad, decimal.Parse(prod.precioProducto.ToString()));
                }
                db.ppago5();

                //
                Correo correo = new Correo();

                correo.to      = new string[] { usuario.correoUsuario };
                correo.subject = "Orden de Compra CompuVentas";
                correo.isHtml  = true;
                correo.body    = "Sr. " + usuario.nombresUsuario + " " + usuario.apePatUsuario + " " + usuario.apeMatUsuario + " se le adjunta su Orden de Compra en el siguiente PDF";

                List <REPORTPAGO_Result> p = new List <REPORTPAGO_Result>();
                p = db.REPORTPAGO(usuario.nombresUsuario + " " + usuario.apePatUsuario + " " + usuario.apeMatUsuario).ToList();
                ReportDocument rd = new ReportDocument();
                rd.Load(Path.Combine(Server.MapPath("../Reports"), "rpt_Pago2.rpt"));
                rd.SetDataSource(p);
                Response.Buffer = false;
                Response.ClearContent();
                Response.ClearHeaders();
                Stream stream = (Stream)rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                stream.Seek(0, SeekOrigin.Begin);
                correo.data = new Attachment(stream, "OrdendeCompra.pdf", "application/pdf");
                try
                {
                    enviarCorreo(correo);
                    stream.Close();
                    stream.Flush();
                }
                catch (Exception e)
                {
                }
                Session["carro"]   = new List <Producto>();
                Session["mensaje"] = "Enhorabuena " + usuario.nombresUsuario + ", tu compra se ha realizado.";
            }

            ViewBag.documentopaga = new SelectList(db.DocPaga, "documentopaga", "descri");
            return(RedirectToAction("CarroCompras", "Productos"));
        }
Esempio n. 10
0
 private void btnGuardar_Click(object sender, EventArgs e)
 {
     try
     {
         PAGO pago = new PAGO();
         //pago.IDPAGO = Convert.ToInt16(txtIdPago.Text.Trim());
         pago.DESC_PAGO = txtDescPago.Text.Trim();
         _02LogicadeNegocios.Logica.GuardarDato(pago);
         MessageBox.Show("Pago Agregado");
         Limpiar(); this.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al Guardar Datos en Tabla Pago" + ex.Message);
     }
 }
Esempio n. 11
0
        public void Update(int Id, int FACTURA_DETALLEId, int PAGOId, int MONTO)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioPAGO_DETALLE repositorio   = new RepositorioPAGO_DETALLE(context);
                    PAGO_DETALLE            _PAGO_DETALLE = repositorio.GetById(Id);
                    if (Equals(_PAGO_DETALLE, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PAGO_DETALLE con Id =", Id.ToString()));
                    }

                    RepositorioFACTURA_DETALLE _repositorioFACTURA_DETALLE = new RepositorioFACTURA_DETALLE(context);
                    FACTURA_DETALLE            _objFACTURA_DETALLE         = _repositorioFACTURA_DETALLE.GetById(FACTURA_DETALLEId);
                    if (Equals(_objFACTURA_DETALLE, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado FACTURA_DETALLE con Id =", FACTURA_DETALLEId.ToString()));
                    }

                    RepositorioPAGO _repositorioPAGO = new RepositorioPAGO(context);
                    PAGO            _objPAGO         = _repositorioPAGO.GetById(PAGOId);
                    if (Equals(_objPAGO, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PAGO con Id =", PAGOId.ToString()));
                    }

                    //properties

                    _PAGO_DETALLE.MONTO = MONTO;

                    //parents

                    _PAGO_DETALLE.FACTURA_DETALLE = _objFACTURA_DETALLE;
                    _PAGO_DETALLE.PAGO            = _objPAGO;

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
Esempio n. 12
0
        public ActionResult MakePayment(string cedula, string ruta)
        {
            if (string.IsNullOrEmpty(cedula) || string.IsNullOrEmpty(ruta))
            {
                return(RedirectToAction("Index", new { message = "Campos en blanco", email = currentEmail, cedula = cedula, ruta = ruta }));
            }

            int rutaId = Int32.Parse(ruta);
            SMART_PAYMENT_DBEntities db = new SMART_PAYMENT_DBEntities();

            var client = db.CLIENTEs.FirstOrDefault(x => x.CLI_IDENTIFICACION == cedula);
            var route  = db.RUTAs.FirstOrDefault(x => x.RUT_CODIGO_CTP == rutaId);

            chofer = db.CHOFERs.FirstOrDefault(x => x.CHO_CORREO_ELECTRONICO == System.Web.HttpContext.Current.User.Identity.Name);


            decimal  total = client.CLI_MONEDERO - route.RUT_COSTO;
            DateTime today = System.DateTime.Now;

            var pago = new PAGO();

            pago.PAG_IDENTIFICACION_CLIENTE = client.CLI_IDENTIFICACION;
            pago.PAG_IDENTIFICACION_CHOFER  = chofer.CHO_IDENTIFICACION;
            pago.PAG_CODIGO_CTP_RUTA        = route.RUT_CODIGO_CTP;
            pago.PAG_FECHA = today;
            pago.RECHAZADO = false;


            if (total < 0)
            {
                pago.RECHAZADO = true;

                db.Entry(pago).State = System.Data.Entity.EntityState.Added;
                db.SaveChanges();
                return(RedirectToAction("Index", new { message = "Saldo Insuficiente", email = currentEmail, cedula = cedula, ruta = ruta }));
            }
            else
            {
                client.CLI_MONEDERO    = total;
                db.Entry(client).State = System.Data.Entity.EntityState.Modified;
                db.Entry(pago).State   = System.Data.Entity.EntityState.Added;
                db.SaveChanges();

                return(RedirectToAction("Index", new { message = "Pago Exitoso", email = currentEmail, cedula = cedula, ruta = ruta }));
            }
        }
Esempio n. 13
0
        public int PagarGastoComun(PAGO nuevo, string[] gastos)
        {
            int id_pago = 0;

            try
            {
                SigescoEntities context = new SigescoEntities();
                using (context)
                {
                    var query = (from a in context.PAGO
                                 orderby a.ID_PAGO descending
                                 select a.ID_PAGO).FirstOrDefault();
                    id_pago       = int.Parse(query.ToString());
                    nuevo.ID_PAGO = id_pago + 1;
                    context.PAGO.Add(nuevo);
                    int contar = gastos.Length;
                    var query2 = (from a in context.PAGOXGASTO
                                  orderby a.ID_PAGOXGASTO descending
                                  select a.ID_PAGOXGASTO).FirstOrDefault();
                    int id_pxg = int.Parse(query2.ToString());
                    context.SaveChanges();
                    for (int i = 1; i < contar; i++)
                    {
                        PAGOXGASTO pxg = new PAGOXGASTO();
                        id_pxg = id_pxg + 1;
                        int gasto = int.Parse(gastos[i]);
                        pxg.ID_PAGOXGASTO = id_pxg;
                        pxg.ID_PAGO       = id_pago;
                        pxg.ID_GASTO      = gasto;
                        context.PAGOXGASTO.Add(pxg);
                        var query3 = (from c in context.GASTO
                                      where c.ID_GASTO == gasto
                                      select c).FirstOrDefault();
                        query3.ESTADO = "PAGADO";
                        context.SaveChanges();
                    }
                    return(id_pago);
                }
            }
            catch (Exception e)
            {
                return(id_pago);
            }
        }
Esempio n. 14
0
        public void Update(int Id, int CLIENTEId, int FECHA_PAGO, int MONTO_PAGO)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioPAGO repositorio = new RepositorioPAGO(context);
                    PAGO            _PAGO       = repositorio.GetById(Id);
                    if (Equals(_PAGO, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado PAGO con Id =", Id.ToString()));
                    }

                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE            _objCLIENTE         = _repositorioCLIENTE.GetById(CLIENTEId);
                    if (Equals(_objCLIENTE, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =", CLIENTEId.ToString()));
                    }

                    //properties

                    _PAGO.FECHA_PAGO = FECHA_PAGO;
                    _PAGO.MONTO_PAGO = MONTO_PAGO;

                    //parents

                    _PAGO.CLIENTE = _objCLIENTE;

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
Esempio n. 15
0
        private void btnIngresar_Click(object sender, EventArgs e)
        {
            string mensajeCorrecto = "Paciente ingresado correctamente";
            string mensajeError = string.Empty;
            bool   res1 = false, res2 = false;

            try
            {
                UsuarioLogeado usuario  = FrmLogin.usuarioLogeado;
                ATENCION_AGEN  atencion = new ATENCION_AGEN();
                PAGO           pago     = new PAGO();
                CAJA           caja     = new CAJA();
                using (var context = new CMHEntities())
                {
                    atencion = context.ATENCION_AGEN.Find(((ComboboxItem)lstAtenciones.SelectedItem).Value);
                }
                caja = at.buscarCajaAbierta(usuario.Personal.FUNCIONARIO.FirstOrDefault());

                pago.ID_ATENCION_AGEN = atencion.ID_ATENCION_AGEN;
                pago.MONTO_PAGO       = int.Parse(lblTotal.Text);
                pago.ID_CAJA          = caja.ID_CAJA;

                res1 = at.ingresarPaciente(atencion);
                res2 = at.registrarPago(pago, lblAseguradora.Text, int.Parse(lblDescuento.Text));
                ActualizarLista();
            }
            catch (Exception ex)
            {
                mensajeError = "Error al ingresar paciente";
            }
            if (res1 && res2)
            {
                MessageBox.Show(mensajeCorrecto, "Creada", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 16
0
        public int Add(int CLIENTEId, int FECHA_PAGO, int MONTO_PAGO)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCLIENTE _repositorioCLIENTE = new RepositorioCLIENTE(context);
                    CLIENTE            _objCLIENTE         = _repositorioCLIENTE.GetById(CLIENTEId);
                    if (Equals(_objCLIENTE, null))
                    {
                        throw new Exception(String.Concat("No se ha encontrado CLIENTE con Id =", CLIENTEId.ToString()));
                    }

                    PAGO _PAGO = new PAGO();

                    //properties

                    _PAGO.FECHA_PAGO = FECHA_PAGO;
                    _PAGO.MONTO_PAGO = MONTO_PAGO;
                    _PAGO.ACTIVO     = true;

                    //parents

                    _PAGO.CLIENTE = _objCLIENTE;

                    context.AddObject("PAGO", _PAGO);
                    context.SaveChanges();

                    return(_PAGO.ID);
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
Esempio n. 17
0
 public void Pagos(Decimal cuota, decimal mora, DateTime fechapago, bool estadopago, Decimal pagorealizar, Decimal saldo, int idprestamo, bool pagomora)
 {
     PAGO.GetDataPagos(cuota, mora, fechapago, estadopago, pagorealizar, saldo, idprestamo, pagomora);
 }
 public static PAGO CreatePAGO(int id, int fECHA_PAGO, int mONTO_PAGO, bool aCTIVO)
 {
     PAGO pAGO = new PAGO();
     pAGO.ID = id;
     pAGO.FECHA_PAGO = fECHA_PAGO;
     pAGO.MONTO_PAGO = mONTO_PAGO;
     pAGO.ACTIVO = aCTIVO;
     return pAGO;
 }
 public void RealizarPago(int codigo, bool estadopago, DateTime fecha, int empleado, bool mora)
 {
     PAGO.GetDataRealizarPago(codigo, estadopago, fecha, empleado, mora);
 }
Esempio n. 20
0
        protected void btnPagar_Click(object sender, EventArgs e)
        {
            String  id           = Session["id"].ToString();
            decimal apoderado_id = Convert.ToDecimal(id); //apoderado_id

            DateTime fecha = System.DateTime.Today;       //fecha
            int      monto = Int32.Parse(tbxMonto.Text);  //monto

            string nombreAlumno = DdAlumno.SelectedValue;
            var    al           = (from i in Conexion.Entidades.ALUMNO
                                   where i.NOMBRE == nombreAlumno
                                   select i);

            foreach (var p in al)
            {
                p.DEUDA = p.DEUDA - monto;
            }



            var cur = (from i in Conexion.Entidades.ALUMNO
                       where i.NOMBRE == nombreAlumno
                       select i.CURSO_ID_CURSO).First();

            var en = (from j in Conexion.Entidades.ENCARGADO    //encargadoId
                      where j.CURSO_ID_CURSO == cur
                      select j.ENCARGADO_ID).First();

            var con = (from x in Conexion.Entidades.CONTRATO
                       where x.ENCARGADO_ENCARGADO_ID == en
                       select x.CONTRATO_ID).First(); //contrato id


            string descripcion = tbxDescripcion.Text; //descriocion

            var     pagId   = (from p in Conexion.Entidades.PAGO select p.PAGO_ID).Max();
            decimal pago_id = pagId + 1;  //pago id


            PAGO pago = new PAGO();

            pago.PAGO_ID                = pago_id;
            pago.FECHA_PAGO             = fecha;
            pago.MONTO_PAGO             = monto;
            pago.CONTRATO_CONTRATO_ID   = con;
            pago.APODERADO_APODERADO_ID = apoderado_id;
            pago.ENCARGADO_ENCARGADO_ID = en;
            pago.DESCRIPCION            = descripcion;



            Conexion.Entidades.PAGO.Add(pago);



            Conexion.Entidades.SaveChanges();

            //CREAR CORREO
            MailMessage msj = new MailMessage();
            //obtener correo
            var correo = (from x in Conexion.Entidades.APODERADO
                          where apoderado_id == x.APODERADO_ID
                          select x.EMAIL).First();

            msj.To.Add(new MailAddress(correo));
            msj.From = new MailAddress("*****@*****.**");


            msj.Subject    = "Pago realizado ";
            msj.Body       = "Se ha realizado un pago con un monto de $" + monto;
            msj.IsBodyHtml = false;
            msj.Priority   = MailPriority.Normal;
            //definir smtp
            SmtpClient smtp = new SmtpClient();

            smtp.Host        = "smtp.gmail.com";
            smtp.Port        = 587;
            smtp.EnableSsl   = true;
            smtp.Credentials = new NetworkCredential("*****@*****.**", "portafolio123");
            smtp.Send(msj);



            Response.AddHeader("REFRESH", "3;URL=ApoderadoTemp.aspx");
        }
 public void PagoPlanilla(Decimal montocomision, decimal sueldototal, bool estadopago, DateTime fechapago, int idempleado)
 {
     PAGO.GetDataPagoPlanilla(montocomision, sueldototal, estadopago, fechapago, idempleado);
 }
 public void AddToPAGO(PAGO pAGO)
 {
     base.AddObject("PAGO", pAGO);
 }
Esempio n. 23
0
        private void lstAtenciones_SelectedIndexChanged(object sender, EventArgs e)
        {
            mostrarLabelDescuento();
            try
            {
                ATENCION_AGEN atencion             = new ATENCION_AGEN();
                PACIENTE      paciente             = new PACIENTE();
                PRESTACION    prestacion           = new PRESTACION();
                BONO          bono                 = new BONO();
                ASEGURADORA   aseguradora          = new ASEGURADORA();
                ResultadoVerificacionSeguro seguro = new ResultadoVerificacionSeguro();
                bool necesitaDevolucion            = false;

                using (var context = new CMHEntities())
                {
                    atencion             = context.ATENCION_AGEN.Find(((ComboboxItem)lstAtenciones.SelectedItem).Value);
                    atencion.ESTADO_ATEN = context.ESTADO_ATEN.Find(atencion.ID_ESTADO_ATEN);
                    if (atencion.ESTADO_ATEN.NOM_ESTADO_ATEN.ToUpper() == "PAGADO")
                    {
                        necesitaDevolucion = true;
                    }
                    if (necesitaDevolucion)
                    {
                        paciente   = context.PACIENTE.Find(atencion.ID_PACIENTE);
                        prestacion = context.PRESTACION.Find(atencion.ID_PRESTACION);
                        pago       = context.PAGO.Where(d => d.ID_ATENCION_AGEN == atencion.ID_ATENCION_AGEN).FirstOrDefault();
                        if (pago.ID_BONO != null)
                        {
                            bono        = context.BONO.Find(pago.ID_BONO);
                            aseguradora = context.ASEGURADORA.Find(bono.ID_ASEGURADORA);
                        }
                    }
                }
                if (necesitaDevolucion)
                {
                    lblSubtotal.Text = atencion.PRESTACION.PRECIO_PRESTACION.ToString();
                    lblTotal.Text    = pago.MONTO_PAGO.ToString();
                    if (pago.ID_BONO != null)
                    {
                        lblDescuento.Text   = pago.BONO.CANT_BONO.ToString();
                        lblAseguradora.Text = aseguradora.NOM_ASEGURADORA;
                    }
                    else
                    {
                        lblDescuento.Text   = "0";
                        lblAseguradora.Text = "No tiene seguro";
                    }
                    btnAnular.Enabled = true;
                    lblError.Visible  = false;
                    txtRazon.Enabled  = true;
                }
                else
                {
                    txtRazon.Enabled  = false;
                    btnAnular.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                lblError.Visible   = true;
                lblError.Text      = "Error al buscar pago";
                lblError.ForeColor = System.Drawing.Color.Red;
                lblSubtotal.Text   = string.Empty;
                lblTotal.Text      = string.Empty;
                lblDescuento.Text  = string.Empty;
                btnAnular.Enabled  = false;
            }
        }
Esempio n. 24
0
        protected void btnPagar_Click(object sender, EventArgs e)
        {
            String  id           = Session["id"].ToString();
            decimal encargado_id = Convert.ToDecimal(id);                  //encargado_id
            var     en           = (from x in Conexion.Entidades.ENCARGADO //id del curso del encargado
                                    where x.ENCARGADO_ID == encargado_id
                                    select x.CURSO_ID_CURSO).First();

            var con = (from j in Conexion.Entidades.CONTRATO
                       where j.ENCARGADO_ENCARGADO_ID == en
                       select j.CONTRATO_ID).First();


            var cant_al = (from y in Conexion.Entidades.ALUMNO               //cantidad de alumnos asignados al curso del encargado
                           where y.CURSO_ID_CURSO == en
                           select y).Count();

            var al = (from k in Conexion.Entidades.ALUMNO           //lista objeto ALUMNO
                      where k.CURSO_ID_CURSO == en
                      select k);

            int montoTotal = Int32.Parse(tbxMonto.Text); //monto pago

            int montoRepartir = montoTotal / cant_al;

            foreach (var i in al)
            {
                i.DEUDA = i.DEUDA - montoRepartir;
            }
            //REGISTRO EN TABLA PAGO
            var     pagId   = (from p in Conexion.Entidades.PAGO select p.PAGO_ID).Max();
            decimal pago_id = pagId + 1;  //pago id

            //fecha pago
            DateTime fecha = System.DateTime.Today;

            Nullable <Decimal> apoderado_id = null;


            //descripcion
            string descripcion = tbxDescripcion.Text;
            PAGO   pago        = new PAGO();

            pago.PAGO_ID                = pago_id;
            pago.FECHA_PAGO             = fecha;
            pago.MONTO_PAGO             = montoTotal;
            pago.CONTRATO_CONTRATO_ID   = con;
            pago.APODERADO_APODERADO_ID = apoderado_id;
            pago.ENCARGADO_ENCARGADO_ID = encargado_id;
            pago.DESCRIPCION            = descripcion;

            Conexion.Entidades.PAGO.Add(pago);



            Conexion.Entidades.SaveChanges();

            //correo
            MailMessage msj = new MailMessage();
            //obtener correo del encargado
            var correo = (from x in Conexion.Entidades.ENCARGADO
                          where encargado_id == x.ENCARGADO_ID
                          select x.EMAIL).First();

            //obtener correo de agente
            var correo_agente = (from x in Conexion.Entidades.ENCARGADO
                                 where encargado_id == x.ENCARGADO_ID
                                 select x.AGENTE.EMAIL).First();
            //obtener nombre completo de encargado
            var nombreEn = (from x in Conexion.Entidades.ENCARGADO
                            where encargado_id == x.ENCARGADO_ID
                            select x.NOMBRE).First();

            var apelPatEn = (from x in Conexion.Entidades.ENCARGADO
                             where encargado_id == x.ENCARGADO_ID
                             select x.AP_PATERNO).First();

            var apelMatEn = (from x in Conexion.Entidades.ENCARGADO
                             where encargado_id == x.ENCARGADO_ID
                             select x.AP_MATERNO).First();
            string nomEncargadoCompleto = nombreEn + " " + apelPatEn + " " + apelMatEn;

            msj.To.Add(new MailAddress(correo));
            msj.To.Add(new MailAddress(correo_agente));
            msj.From = new MailAddress("*****@*****.**");


            msj.Subject    = "Pago realizado ";
            msj.Body       = "Se ha realizado un pago con un monto de $" + montoTotal + " nombre del Encargado: " + nomEncargadoCompleto;
            msj.IsBodyHtml = false;
            msj.Priority   = MailPriority.Normal;
            //definir smtp
            SmtpClient smtp = new SmtpClient();

            smtp.Host        = "smtp.gmail.com";
            smtp.Port        = 587;
            smtp.EnableSsl   = true;
            smtp.Credentials = new NetworkCredential("*****@*****.**", "portafolio123");
            smtp.Send(msj);



            Response.Redirect("EncargadoTemp.aspx");
        }
Esempio n. 25
0
        public int RealizarPago(RealizarPagoInputType realizarPagoDto)
        {
            //----------------------------------------REGLAS DE INTEGRIDAD----------------------------------------
            if (realizarPagoDto.Monto <= 0)
            {
                throw new ApplicationException("El monto a pagar debe ser mayor a cero");
            }
            if (realizarPagoDto.ClienteId <= 0)
            {
                throw new ApplicationException("El id del cliente debe ser mayor a cero");
            }
            //cuando la deuda sea mayor
            var deudaTotal = _prestamoService.CalcularDeudaPorClienteId(realizarPagoDto.ClienteId);

            if (deudaTotal < realizarPagoDto.Monto)
            {
                throw new ApplicationException("El pago supera la deuda : " + deudaTotal + " pesos");
            }
            //cliente no existe
            var cliente = _clienteService.BuscarClientePorId(realizarPagoDto.ClienteId);

            if (cliente == null)
            {
                throw new ApplicationException("Cliente no existe");
            }

            //----------------------------------------REGLAS DE NEGOCIO----------------------------------------
            using (var scope = new TransactionScope())
            {
                //inserto la cabecera del pago
                var pago = new PAGO
                {
                    CLIENTE_ID = realizarPagoDto.ClienteId,
                    FECHA      = DateTime.Now,
                    MONTO      = realizarPagoDto.Monto
                };

                _unitOfWork.PagoRepository.Insert(pago);

                var prestamosActivosOrdenadOrderByFecha = _unitOfWork.PrestamoRepository.GetMany(n => n.ESTADO == "AC").OrderBy(n => n.FECHA_PRESTAMO).ThenBy(n => n.TASA_INTERES);

                //cuando la deuda sea igual a lo que se esta pagando
                if (deudaTotal == realizarPagoDto.Monto)
                {
                    foreach (var obj in prestamosActivosOrdenadOrderByFecha)
                    {
                        var buscarDeudaPorPrestamoId = _prestamoService.BuscarDeudaPorPrestamoId(obj.PRESTAMO_ID);

                        //inserto un detalle pago por cada detalle prestamo
                        var detallePago = new DETALLE_PAGO
                        {
                            MONTO         = buscarDeudaPorPrestamoId,
                            PAGO_ID       = pago.PAGO_ID,
                            PRESTAMO_ID   = obj.PRESTAMO_ID,
                            TASA_EFECTIVA = _prestamoService.BuscarTasaPorPrestamoId(obj.PRESTAMO_ID),
                        };
                        _unitOfWork.DetallePagoRepository.Insert(detallePago);

                        //inserto un detalle prestamo por cada detalle pago
                        var detallePrestamo = new DETALLE_PRESTAMO
                        {
                            DETALLE_PAGO_ID = detallePago.DETALLE_PAGO_ID,
                            PRESTAMO_ID     = obj.PRESTAMO_ID,
                            COMENTARIO      = realizarPagoDto.Comentario + " PAGO " + realizarPagoDto.Monto +
                                              " dividido entre  " + prestamosActivosOrdenadOrderByFecha.Count() + "prestamos",
                            FECHA              = DateTime.Now,
                            MOVIMIENTO         = buscarDeudaPorPrestamoId * -1,
                            TIPO_MOVIMIENTO_ID = 3
                        };
                        _unitOfWork.DetallePrestamoRepository.Insert(detallePrestamo);

                        //aqui marco el prestamo como finalizado
                        _prestamoService.FinalizarPrestamoPrestamo(obj.PRESTAMO_ID);

                        _unitOfWork.Save();
                    }


                    scope.Complete();

                    return(pago.PAGO_ID);
                }

                //cuando la deuda total es mayor al pago
                if (deudaTotal > realizarPagoDto.Monto)
                {
                    var balancePago = realizarPagoDto.Monto;

                    //itero entre todos los prestamos a pagar
                    foreach (var obj in prestamosActivosOrdenadOrderByFecha)
                    {
                        var balancePrestamo = _prestamoService.BuscarDeudaPorPrestamoId(obj.PRESTAMO_ID);

                        if (balancePago < balancePrestamo)
                        {
                            //inserto un detalle pago por cada detalle prestamo
                            var detallePago = new DETALLE_PAGO
                            {
                                MONTO         = balancePago,
                                PAGO_ID       = pago.PAGO_ID,
                                PRESTAMO_ID   = obj.PRESTAMO_ID,
                                TASA_EFECTIVA = _prestamoService.BuscarTasaPorPrestamoId(obj.PRESTAMO_ID),
                            };
                            _unitOfWork.DetallePagoRepository.Insert(detallePago);

                            //inserto un detalle prestamo por cada detalle pago
                            var detallePrestamo = new DETALLE_PRESTAMO
                            {
                                DETALLE_PAGO_ID    = detallePago.DETALLE_PAGO_ID,
                                PRESTAMO_ID        = obj.PRESTAMO_ID,
                                COMENTARIO         = realizarPagoDto.Comentario,
                                FECHA              = DateTime.Now,
                                MOVIMIENTO         = balancePago * -1,
                                TIPO_MOVIMIENTO_ID = 3
                            };
                            _unitOfWork.DetallePrestamoRepository.Insert(detallePrestamo);

                            _unitOfWork.Save();
                            scope.Complete();
                            return(pago.PAGO_ID);
                        }

                        if (balancePago > balancePrestamo)
                        {
                            var buscarDeudaPorPrestamoId =
                                _prestamoService.BuscarDeudaPorPrestamoId(obj.PRESTAMO_ID);

                            //inserto un detalle pago por cada detalle prestamo
                            var detallePago = new DETALLE_PAGO
                            {
                                MONTO         = buscarDeudaPorPrestamoId,
                                PAGO_ID       = pago.PAGO_ID,
                                PRESTAMO_ID   = obj.PRESTAMO_ID,
                                TASA_EFECTIVA = _prestamoService.BuscarTasaPorPrestamoId(obj.PRESTAMO_ID),
                            };
                            _unitOfWork.DetallePagoRepository.Insert(detallePago);

                            //inserto un detalle prestamo por cada detalle pago
                            var detallePrestamo = new DETALLE_PRESTAMO
                            {
                                DETALLE_PAGO_ID    = detallePago.DETALLE_PAGO_ID,
                                PRESTAMO_ID        = obj.PRESTAMO_ID,
                                COMENTARIO         = realizarPagoDto.Comentario,
                                FECHA              = DateTime.Now,
                                MOVIMIENTO         = buscarDeudaPorPrestamoId * -1,
                                TIPO_MOVIMIENTO_ID = 3
                            };
                            _unitOfWork.DetallePrestamoRepository.Insert(detallePrestamo);

                            //aqui marco el prestamo como finalizado
                            _prestamoService.FinalizarPrestamoPrestamo(obj.PRESTAMO_ID);

                            balancePago = balancePago - balancePrestamo;
                            _unitOfWork.Save();
                        }

                        if (balancePago == balancePrestamo)
                        {
                            var buscarDeudaPorPrestamoId =
                                _prestamoService.BuscarDeudaPorPrestamoId(obj.PRESTAMO_ID);

                            //inserto un detalle pago por cada detalle prestamo
                            var detallePago = new DETALLE_PAGO
                            {
                                MONTO         = buscarDeudaPorPrestamoId,
                                PAGO_ID       = pago.PAGO_ID,
                                PRESTAMO_ID   = obj.PRESTAMO_ID,
                                TASA_EFECTIVA = _prestamoService.BuscarTasaPorPrestamoId(obj.PRESTAMO_ID),
                            };
                            _unitOfWork.DetallePagoRepository.Insert(detallePago);

                            //inserto un detalle prestamo por cada detalle pago
                            var detallePrestamo = new DETALLE_PRESTAMO
                            {
                                DETALLE_PAGO_ID    = detallePago.DETALLE_PAGO_ID,
                                PRESTAMO_ID        = obj.PRESTAMO_ID,
                                COMENTARIO         = realizarPagoDto.Comentario,
                                FECHA              = DateTime.Now,
                                MOVIMIENTO         = buscarDeudaPorPrestamoId * -1,
                                TIPO_MOVIMIENTO_ID = 3
                            };
                            _unitOfWork.DetallePrestamoRepository.Insert(detallePrestamo);

                            //aqui marco el prestamo como finalizado
                            _prestamoService.FinalizarPrestamoPrestamo(obj.PRESTAMO_ID);

                            _unitOfWork.Save();
                            scope.Complete();
                            return(pago.PAGO_ID);
                        }
                    }

                    _unitOfWork.Save();
                    scope.Complete();
                    return(pago.PAGO_ID);
                }
            }

            throw new Exception();
        }