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"); }
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); }
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)); } }
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; } }
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; } }
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")); }
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); } }
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; } }
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 })); } }
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); } }
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; } }
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); } }
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; } }
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); }
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); }
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; } }
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"); }
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(); }