/// <summary> /// Anula el detalle seleccionado cambiando su cantidad a 0 y guardandola en el campo CANTIDAD ANULADA. /// Se prevee cambiarle también el valor a IDTIPOTRANSACCION /// </summary> /// <param name="db">contexto de la base de datos</param> /// <param name="detalle">detalle fuera de contexto</param> /// <remarks> Autor: Farid Antonio Pérez Aldana. Fecha Creación: 14/06/2016</remarks> public static void Anular(SinabEntities db, SAB_ALM_DETALLEMOVIMIENTOS detalle) { var res = db.SAB_ALM_DETALLEMOVIMIENTOS.FirstOrDefault( d => d.IDESTABLECIMIENTO == detalle.IDESTABLECIMIENTO && d.IDTIPOTRANSACCION == detalle.IDTIPOTRANSACCION && d.IDMOVIMIENTO == detalle.IDMOVIMIENTO && d.IDDETALLEMOVIMIENTO == detalle.IDDETALLEMOVIMIENTO); if (res == null) { return; } res.CANTIDADANULADA = res.CANTIDAD; res.ANULADO = true; res.CANTIDAD = 0; res.AUUSUARIOMODIFICACION = Membresia.ObtenerUsuario().USUARIO; res.AUFECHAMODIFICACION = DateTime.Now; var anular = res.SAB_ALM_DETALLEMOVIMIENTOLOTES.ToList(); foreach (var r in anular) { db.SAB_ALM_DETALLEMOVIMIENTOLOTES.DeleteObject(r); } db.SaveChanges(); }
public static void Agregar(SAB_CP_PRODUCTOSPROVEEDORES producto) { using (var trans = new TransactionScope()) { try { using (var db = new SinabEntities()) { //Guarda el productoProceso Agregar(db, producto); //guarda su estado inicial var estado = new SAB_CP_ESTADOSPRODUCTOS() { IdProductoProveedor = producto.Id, estado = 1, Fecha = DateTime.Now, Comentario = "Estado Inicial", usuario = Membresia.ObtenerUsuario().NombreUsuario }; EstadoProductos.Agregar(db, estado); //actualiza contador de productos no certificados ProveedoresProceso.Actualizar(db, producto.SAB_CP_PROVEEDORESPROCESO); } trans.Complete(); } catch (Exception ex) { throw new Exception(ex.Message); } } }
public async Task <IHttpActionResult> PutMembresia(Membresia membresia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //if (id != membresia.IdMembresia) //{ // return BadRequest(); //} db.Entry(membresia).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MembresiaExists(membresia.IdMembresia)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public string InsertAsistencia(string dni) { Cliente cliente = _db.Clientes.Where(x => x.Dni == dni).FirstOrDefault(); if (cliente != null) { Membresia membresia = _db.Membresias.Where(x => x.Cliente.ClienteId == cliente.ClienteId).FirstOrDefault(); if (membresia != null) { if (membresia.FechaFin >= DateTime.Today) { Asistencia asistencia = new Asistencia(); asistencia.Cliente = cliente; asistencia.Fecha = DateTime.Today.Date; _db.Asistencias.Add(asistencia); _db.SaveChanges(); return("Bienvenido de nuevo: " + cliente.Nombre + " !"); } else { return("Su membresía se ha vencido. Cuando pague una nueva cuota se autorenovará y podrá registrar la asistencia"); } } else { return("El cliente no cuenta con ninguna membresía. Cuando pague su primer cuota se autogenerará y podrá registrar la Asistencia"); } } else { return("El dni ingresado no corresponde a ningún Cliente"); } }
public async Task <JsonResult> GuardarMembresia(Membresia membresia) { try { //SE OBTIENE EL ID DE USUARIO DE LA SESION membresia.IdUsuario = GetUserDecrypted.IdUsuario; if (membresia.IdMembresia > 0) { await ApiHelper.PUT <Membresia>("Membresia/PutMembresia", membresia, GetAuthToken); return(Json("La publicación se ha editado exitosamente.")); } else { membresia.FechaIngreso = DateTime.Now; await ApiHelper.POST <Membresia>("Membresia/PostMembresia", membresia, GetAuthToken); return(Json("La membresia se ha guardado exitosamente.")); } } catch (Exception) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Ha ocurrido un error al guardar la membresia. Si el problema persiste contacte su administrador.")); } }
public async Task <IHttpActionResult> GetMembresia(int id) { Membresia membresia = await db.membresias.FindAsync(id); if (membresia == null) { return(NotFound()); } return(Ok(membresia)); }
/// <summary> /// Actualiza las cantidades de los lotes dependiendo del tipo de operacion a realizar. /// Esta funcion no guarda en la base de datos, se debe actualizar fuera del lazo try-catch que la contenga (db.savechanges()). /// </summary> /// <param name="db">Datacontext</param> /// <param name="detalle">Detalle del movimiento. Contiene las operaciones a relizar sobre los lotes (suma:1, resta:2)</param> public static void Actualizar(SinabEntities db, SAB_ALM_DETALLEMOVIMIENTOS detalle) { var cantidad = detalle.CANTIDAD; var operacion = detalle.SAB_ALM_DETALLEMOVIMIENTOLOTES.FirstOrDefault(); if (operacion == null) { return; } var lote = db.SAB_ALM_LOTES.FirstOrDefault(l => l.IDALMACEN == detalle.IDALMACEN && l.IDLOTE == detalle.IDLOTE && ((l.CANTIDADDISPONIBLE >= cantidad && operacion.DISPONIBLE == 2) || operacion.DISPONIBLE <= 1) && ((l.CANTIDADNODISPONIBLE >= cantidad && operacion.NODISPONIBLE == 2) || operacion.NODISPONIBLE <= 1) && ((l.CANTIDADRESERVADA >= cantidad && operacion.RESERVADA == 2) || operacion.RESERVADA <= 1) && ((l.CANTIDADVENCIDA >= cantidad && operacion.VENCIDA == 2) || operacion.VENCIDA <= 1) && ((l.CANTIDADTEMPORAL >= cantidad && operacion.TEMPORAL == 2) || operacion.TEMPORAL <= 1) ); if (lote == null) { throw new Exception("Error: La cantidad Requerida para un producto no puede ser mayor que la cantidad disponible en el lote." + "Por favor verifique las existencias en el Lote, esta operación no puede continuar" + "No. del renglón: " + detalle.RENGLON + ", cantidad: " + detalle.CANTIDAD.ToString()); } //evalua cantidad disponible lote.CANTIDADDISPONIBLE = EvaluarCantidades(cantidad, operacion.DISPONIBLE, lote.CANTIDADDISPONIBLE); //evalua cantidad no disponible lote.CANTIDADNODISPONIBLE = EvaluarCantidades(cantidad, operacion.NODISPONIBLE, lote.CANTIDADNODISPONIBLE); //evalua cantidad reservada lote.CANTIDADRESERVADA = EvaluarCantidades(cantidad, operacion.RESERVADA, lote.CANTIDADRESERVADA); //evalua cantidad vencida lote.CANTIDADVENCIDA = EvaluarCantidades(cantidad, operacion.VENCIDA, lote.CANTIDADVENCIDA); //evalua cantidad temporal lote.CANTIDADTEMPORAL = EvaluarCantidades(cantidad, operacion.TEMPORAL, lote.CANTIDADTEMPORAL); lote.AUUSUARIOMODIFICACION = Membresia.ObtenerUsuario().USUARIO; lote.AUFECHAMODIFICACION = DateTime.Now; db.SaveChanges(); }
public async Task <IHttpActionResult> PostMembresia(Membresia membresia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.membresias.Add(membresia); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = membresia.IdMembresia }, membresia)); }
public void InsertOrUpdate(Membresia obj) { try { db.Entry(obj).State = obj.MembresiaId == 0 ? EntityState.Added : EntityState.Modified; db.SaveChanges(); db.Dispose(); } catch (Exception ex) { throw new Exception("Error ao cadastrar Objeto!" + ex.Message); } }
public Requisicion Obtener(SinabEntities db, string codigo) { var idalmacen = Membresia.ObtenerUsuario().Almacen.IDALMACEN; var reqs = db.SAB_FARM_REQUISICION.Include("SAB_FARM_DETALLEREQUISICION") .Where(r => r.CodigoRequisicion == codigo && r.IdAlmacen == idalmacen); var requisicion = new Requisicion(db, reqs.FirstOrDefault()); foreach (var r in reqs) { requisicion.DetallesRequisicion.AddRange(r.SAB_FARM_DETALLEREQUISICION.Where(dr => dr.Procesado == false)); } return(requisicion); }
public IEnumerable <IPermission> GetPermissionsForUser(string userName) { var now = DateTime.UtcNow; var permisos = this.context.Membresias .Where(x => x.Usuario.NombreUsuario == userName) .Where(Membresia.ActivasPredicate()) .SelectMany(x => x.Rol.Permisos) .AsQueryable <IPermission>() .Distinct() .ToList(); return(permisos); }
public async Task <IHttpActionResult> DeleteMembresia(int id) { Membresia membresia = await db.membresias.FindAsync(id); if (membresia == null) { return(NotFound()); } db.membresias.Remove(membresia); await db.SaveChangesAsync(); return(Ok(membresia)); }
protected override void UpdateFields(Usuario entityDB, Usuario entity) { NormalizarFechasMembresia(entity); base.UpdateFields(entityDB, entity); bool changePassword = (!String.IsNullOrEmpty(entity.Password)); // Elimina membresías borradas foreach (var membresiaDB in entityDB.Membresias.Where(db => !entity.Membresias.Any(e => e.RolId == db.RolId)).ToList()) { entityDB.Membresias.Remove(membresiaDB); } // Agrega nuevas y modifica existentes foreach (var membresia in entity.Membresias) { var membresiaDB = entityDB.Membresias.FirstOrDefault(e => e.RolId == membresia.RolId); if (membresiaDB == null) { var rolDB = context.Roles.Find(membresia.RolId); membresiaDB = new Membresia { RolId = rolDB.Id, Rol = rolDB, UsuarioId = entityDB.Id, Usuario = entityDB }; entityDB.Membresias.Add(membresiaDB); } membresiaDB.VigenteDesde = membresia.VigenteDesde; membresiaDB.VigenteHasta = membresia.VigenteHasta; } entityDB.Nombre = entity.Nombre; entityDB.Apellido = entity.Apellido; entityDB.Correo = entity.Correo; entityDB.Telefono = entity.Telefono; if (changePassword) { entityDB.ChangePassword(entity.Password); } entityDB.ForzarCambioPassword = entity.ForzarCambioPassword; // Inhabilita la sesión del usuario AsyncHelper.RunSync(() => this.userManager.InvalidateUserSession(entityDB.UserName)); }
public static void Anular(SinabEntities db, SAB_ALM_VALESSALIDA vale) { var v = db.SAB_ALM_VALESSALIDA.FirstOrDefault( vs => vs.IDVALE == vale.IDVALE && vs.IDALMACEN == vale.IDALMACEN && vs.ANIO == vale.ANIO); if (v == null) { return; } v.ANULADO = true; v.OBSERVACION = vale.OBSERVACION; v.AUUSUARIOMODIFICACION = Membresia.ObtenerUsuario().USUARIO; v.AUFECHAMODIFICACION = DateTime.Now; db.SaveChanges(); }
public static void Anular(SinabEntities db, SAB_ALM_MOVIMIENTOS movimiento) { var mv = db.SAB_ALM_MOVIMIENTOS.FirstOrDefault(m => m.IDMOVIMIENTO == movimiento.IDMOVIMIENTO && m.IDTIPOTRANSACCION == movimiento.IDTIPOTRANSACCION && m.IDESTABLECIMIENTO == movimiento.IDESTABLECIMIENTO); if (mv == null) { return; } mv.ANULADO = true; mv.IDESTADO = 3; //anulado mv.AUUSUARIOMODIFICACION = Membresia.ObtenerUsuario().USUARIO; mv.AUFECHAMODIFICACION = DateTime.Now; db.SaveChanges(); }
public IHttpActionResult CreateRenovateMembresia(MembresiaCuotaDTO membresiaCuotaDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Membresia membresia = _me.CreateRenovateMembresia(membresiaCuotaDTO); if (membresia != null) { return(Json(membresia)); } else { return(Json("Error al intentar crear/renovar la Membresia!")); } }
public static List <SAB_EST_ENTREGAS> GenerarEntregas(SAB_EST_SOLICITUDES solicitud, int entrega) { var entregas = new List <SAB_EST_ENTREGAS>(); var count = 0; var porcentajes = Utils.DistribuirPorcentajes(entrega); using (var db = new SinabEntities()) { short?diasMax = 0; try { diasMax = db.SAB_EST_ENTREGAS.Where( en => en.IDESTABLECIMIENTO == solicitud.IDESTABLECIMIENTO && en.IDSOLICITUD == solicitud.IDSOLICITUD) .OrderByDescending(en => en.DIASENTREGA).Select(en => en.DIASENTREGA).FirstOrDefault(); } catch { diasMax = 30; } var dias = Utils.DistribuirDias((Int32)diasMax, entrega); foreach (var p in porcentajes) { var nuevaEntrega = new SAB_EST_ENTREGAS { IDSOLICITUD = solicitud.IDSOLICITUD, IDESTABLECIMIENTO = Membresia.ObtenerUsuario().Establecimiento.IDESTABLECIMIENTO, IDENTREGA = (short)Convert.ToDecimal(entrega), NUMEROENTREGA = (short)Convert.ToDecimal(count + 1), PORCENTAJEENTREGA = (decimal?)p, DIASENTREGA = (short?)Convert.ToDecimal(dias[count]), AUUSUARIOCREACION = HttpContext.Current.User.Identity.Name, AUFECHACREACION = DateTime.Now }; entregas.Add(nuevaEntrega); count++; } } return(entregas); }
public async Task <MembresiaDto> Create(MembresiaCreateDto model) { var entry = new Membresia { DocenteId = model.DocenteId, TarjetaId = model.TarjetaId, Cvc_tarjeta = model.Cvc_tarjeta, Fecha_expiracion = model.Fecha_expiracion }; var entry2 = _context.Docentes.Single(x => x.DocenteId == model.DocenteId); entry2.Membresia = "Activa"; await _context.AddAsync(entry); await _context.SaveChangesAsync(); return(_mapper.Map <MembresiaDto>(entry)); }
private void button1_Click(object sender, EventArgs e) { Membresia abo = new Membresia(false); bool elimino = abo.ActualizarMembresia(id_membresia, id_paciente, datetimepicker1.Value.ToString("yyyy/MM/dd"), id_clinica, alias); if (elimino) { this.DialogResult = DialogResult.OK; //abo = new Abonos(!bandera_online_offline); //abo.eliminarAbono(abono.id_abono); // System.Windows.Forms.MessageBox.Show("Se elimino la membresia correctamente", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //System.Windows.Forms.MessageBox.Show("No se pudo eliminar el abono", "Error ", MessageBoxButtons.OK, MessageBoxIcon.Error); this.DialogResult = DialogResult.OK; } }
public async Task <JsonResult> PagoConCuentaPayPal(int IdMembresia) { try { Paypal paypal = new Paypal(); //Membresia mem = await ApiHelper.GET_By_ID<Membresia>("Membresia/GetMembresia", IdMembresia, GetAuthToken); Membresia mem = await ApiHelper.GET_By_ID <Membresia>("Membresia/GetMembresia", IdMembresia, GetAuthToken); string guid = Convert.ToString((new Random()).Next(100000)); Session[guid] = null; Session[guid + "memId"] = null; string CancelURL = Request.Url.Scheme + "://" + Request.Url.Authority + ConfigurationManager.AppSettings["CancelURL"]; string ReturnURL = Request.Url.Scheme + "://" + Request.Url.Authority + ConfigurationManager.AppSettings["ReturnURL"] + "?guid=" + guid; Payment pago = paypal.CrearPagoMembresia(mem.Nombre, (mem.Precio - (mem.Descuento == null ? 0 : mem.Descuento)).ToString(), "Membresía CamajanDeportivo (" + mem.Nombre + ")", null, CancelURL, ReturnURL); var links = pago.links.GetEnumerator(); string paypalRedirectUrl = null; while (links.MoveNext()) { Links lnk = links.Current; if (lnk.rel.ToLower().Trim().Equals("approval_url")) { //saving the payapalredirect URL to which user will be redirected for payment paypalRedirectUrl = lnk.href; } } // saving the paymentID in the key guid Session.Add(guid, pago.id); Session.Add(guid + "memId", IdMembresia); return(Json(new { result = "OK", url = paypalRedirectUrl })); } catch (Exception) { return(Json(new { result = "ERROR", Message = "Ha ocurrido un error al realizar el pago utilizando Paypal. Favor intente más tarde. \\n\\nSi el problema persiste contacte el administrador." })); throw; } }
public Membresia InsertUpdateMembresia(MembresiaCuotaDTO membresiaCuotaDTO) { Membresia mem = _db.Membresias.Where(x => x.Cliente.ClienteId == membresiaCuotaDTO.ClienteId).FirstOrDefault(); if (mem != null) { if (mem.FechaFin > DateTime.Today) { mem.FechaFin = mem.FechaFin.AddMonths(membresiaCuotaDTO.Cuota.CantidadMeses); } else { mem.FechaInicio = membresiaCuotaDTO.Cuota.FechaPago; mem.FechaFin = mem.FechaInicio.AddMonths(membresiaCuotaDTO.Cuota.CantidadMeses); } mem.Cuotas.Add(membresiaCuotaDTO.Cuota); _db.SaveChanges(); return(mem); } else { Membresia membresia = new Membresia(); membresia.FechaInicio = membresiaCuotaDTO.Cuota.FechaPago; membresia.FechaFin = membresia.FechaInicio.AddMonths(membresiaCuotaDTO.Cuota.CantidadMeses); Cliente cliente = _db.Clientes.Find(membresiaCuotaDTO.ClienteId); if (cliente != null) { membresia.Cuotas = new List <Cuota>(); membresia.Cliente = cliente; membresia.Cuotas.Add(membresiaCuotaDTO.Cuota); _db.Membresias.Add(membresia); _db.SaveChanges(); return(membresia); } else { return(null); } } }
public static void Actualizar(int idInforme, int idEstablecimiento, int estado) { try { using (var db = new SinabEntities()) { var obj = Obtener(db, idInforme, idEstablecimiento); if (obj == null) { throw new ArgumentNullException("No se encontró la notificación con id: " + idInforme); } obj.IDESTADO = estado; obj.AUUSUARIOMODIFICACION = Membresia.ObtenerUsuario().NombreUsuario; obj.AUFECHAMODIFICACION = DateTime.Now; db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } }
private void Button_Click_3(object sender, RoutedEventArgs e) { var confirmation = System.Windows.Forms.MessageBox.Show("Esta seguro de borrar la membresia de :" + paciente.nombre + " " + paciente.apellidos + "?", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (confirmation == System.Windows.Forms.DialogResult.Yes) { Membresia abo = new Membresia(bandera_online_offline); bool elimino = abo.EliminarMembresia(id_membresia, paciente.id_paciente, paciente.clinica.id_clinica, alias); if (elimino) { //abo = new Abonos(!bandera_online_offline); //abo.eliminarAbono(abono.id_abono); // System.Windows.Forms.MessageBox.Show("Se elimino la membresia correctamente", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //System.Windows.Forms.MessageBox.Show("No se pudo eliminar el abono", "Error ", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public static bool NuevaMembresia(Membresia Membresia) { bool check = false; using (SqlConnection con = new SqlConnection(Properties.Settings.Default.Connection)) { con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "spr_NuevaMembresia"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Id", SetIdMembresia(Membresia.Descripcion)); cmd.Parameters.AddWithValue("@Descripcion", Membresia.Descripcion); cmd.Parameters.AddWithValue("@Dias", Membresia.Dias); cmd.Parameters.AddWithValue("@Inscripcion", Membresia.Inscripcion); cmd.Parameters.AddWithValue("@Precio", Membresia.Precio); cmd.Parameters.AddWithValue("@Estado", Membresia.Estado); cmd.ExecuteNonQuery(); check = true; } return(check); }
public static void Agregar(SinabEntities db, int idEstablecimiento, int idProcesoCompra, bool unaSolicitud) { var existe = db.SAB_UACI_PROGRAMADISTRIBUCION.FirstOrDefault(pd => pd.IDESTABLECIMIENTO == idEstablecimiento && pd.IDPROCESOCOMPRA == idProcesoCompra); if (existe != null) { db.SAB_UACI_PROGRAMADISTRIBUCION.DeleteObject(existe); } //llamar a la funcion if (unaSolicitud) { db.prc_LlenarProgramaDistribucionUna(idProcesoCompra, idEstablecimiento, Membresia.ObtenerUsuario().NombreUsuario); } else { db.prc_LlenarProgramaDistribucion(idProcesoCompra, idEstablecimiento, Membresia.ObtenerUsuario().NombreUsuario); } //var res = (from aes in db.SAB_EST_ALMACENESENTREGASOLICITUD // join spc in db.SAB_EST_SOLICITUDESPROCESOCOMPRAS on new {aes.IDESTABLECIMIENTO, aes.IDSOLICITUD} equals new {spc.IDESTABLECIMIENTO, spc.IDSOLICITUD} // join ae in db.SAB_CAT_ALMACENESESTABLECIMIENTOS on aes.IDESTABLECIMIENTO equals ae.IDESTABLECIMIENTO // where spc.IDPROCESOCOMPRA == idProcesoCompra && // aes.IDESTABLECIMIENTO == idEstablecimiento // group aes by new // { // aes.IDESTABLECIMIENTO, // spc.IDPROCESOCOMPRA, // IdEstablecimientoSolicita = ae.IDESTABLECIMIENTO, // aes.IDSOLICITUD, // aes.RENGLON, // aes.IDALMACENENTREGA, // aes.IDFUENTEFINANCIAMIENTO // } // into grupo // select new // { // grupo.Key.IDESTABLECIMIENTO, // grupo.Key.IDPROCESOCOMPRA, // IDESTABLECIMIENTOSOLICITA = grupo.Key.IDESTABLECIMIENTO, // grupo.Key.IDSOLICITUD, // RENGLON = (int) grupo.Key.RENGLON, // IDALMACEN = grupo.Key.IDALMACENENTREGA, // CANTIDADSOLICITADA = grupo.Sum(g => g.CANTIDAD), // grupo.Key.IDFUENTEFINANCIAMIENTO // }).ToList(); //if (!res.Any()) return; //foreach (var obj in res.Select(pd => new SAB_UACI_PROGRAMADISTRIBUCION() //{ // IDESTABLECIMIENTO = pd.IDESTABLECIMIENTO, // IDPROCESOCOMPRA = pd.IDPROCESOCOMPRA, // IDESTABLECIMIENTOSOLICITA = pd.IDESTABLECIMIENTO, // IDSOLICITUD = pd.IDSOLICITUD, // RENGLON = pd.RENGLON, // IDALMACEN = pd.IDALMACEN, // CANTIDADSOLICITADA = pd.CANTIDADSOLICITADA, // CANTIDADADJUDICADA = 0, // CANTIDADENTREGADA = 0, // AUUSUARIOCREACION = Membresia.ObtenerUsuario().NombreUsuario, // AUFECHACREACION = DateTime.Now, // ESTASINCRONIZADA = 0, // IDFUENTEFINANCIAMIENTO = pd.IDFUENTEFINANCIAMIENTO //})) //{ // db.SAB_UACI_PROGRAMADISTRIBUCION.AddObject(obj); // db.SaveChanges(); //} }
public IQueryable <Membresia> GetMembresiasActivas(long idRol) { return(this.context.Membresias .Where(x => x.Rol.Id == idRol) .Where(Membresia.ActivasPredicate())); }
public MembresiaNueva() { InitializeComponent(); oMembresia = new Membresia(); }
public async Task <ActionResult> ProcesarPagoPaypal() { bool ocurrioError = false; Task <MembresiaUsuario> membresia = null; if (Request.Params["guid"] != null && Request.Params["guid"] != "" && Request.Params["paymentId"] != null && Request.Params["paymentId"] != "" && Request.Params["token"] != null && Request.Params["token"] != "" && Request.Params["PayerID"] != null && Request.Params["PayerID"] != "") { try { Membresia memActual = await ApiHelper.GET_By_ID <Membresia>("Membresia/GetMembresia", int.Parse(Session[Request.Params["guid"] + "memId"].ToString()), GetAuthToken); MembresiaUsuario memUsuario = new MembresiaUsuario(); memUsuario.IdMembresia = memActual.IdMembresia; memUsuario.Nombre = memActual.Nombre; memUsuario.MontoTransaccion = (memActual.Precio - (memActual.Descuento == null ? Convert.ToDecimal(0) : Convert.ToDecimal(memActual.Descuento))); memUsuario.Precio = memActual.Precio; memUsuario.Duracion = memActual.Duracion; memUsuario.Promocion = memActual.Promocion; memUsuario.IdUsuario = GetUserDecrypted.IdUsuario; memUsuario.Descuento = memActual.Descuento; memUsuario.Activa = true; memUsuario.FechaExpiracion = DateTime.Now.AddDays(memActual.Duracion + (memActual.Promocion == null ? 0 : Convert.ToInt32(memActual.Promocion))); memUsuario.IdTransaccionPago = Request.Params["paymentId"].ToString(); memUsuario.Renovada = false; HttpResponseMessage result = await ApiHelper.POST <MembresiaUsuario>("MembresiaUsuarios/PostMembresiaUsuario", memUsuario, GetAuthToken); membresia = result.Content.ReadAsAsync <MembresiaUsuario>(); if (result.IsSuccessStatusCode) { try { Paypal paypal = new Paypal(); var pagoEjecutado = paypal.ProcesarPagoMembresia(Request.Params["PayerID"], Request.Params["paymentId"]); if (pagoEjecutado.state.ToLower() == "approved") { ViewBag.GUID = Session[Request.Params["guid"]].ToString(); ViewBag.PaymentID = Request.Params["paymentId"].ToString(); ViewBag.PaymentSucessful = true; } else { string razon = pagoEjecutado.failure_reason; } Session[Request.Params["guid"]] = null; Session[Request.Params["guid"] + "memId"] = null; } catch (PayPal.PaymentsException pay) { ocurrioError = true; throw; } catch (PayPal.PayPalException ex) { ocurrioError = true; throw; } } else { throw new Exception("Ha ocurrido un error al procesar la transacción. Si el problema persiste contacte su administrador."); //return Json(new { result="ERROR",Message="Ha ocurrido un error al procesar la transacción. Si el problema persiste contacte su administrador."}); } } catch (Exception) { ocurrioError = true; ViewBag.GUID = ""; ViewBag.PaymentID = ""; } } else { ocurrioError = true; } if (!ocurrioError) { return(Redirect("../Membresia/ListarMisMembresias?paymentId=" + Request.Params["paymentId"])); } else { //TODO si ocurrio un error if (membresia != null) { await ApiHelper.DELETE("MembresiaUsuarios/DeleteMembresiaUsuario", membresia.Result.IdMembresiaUsuario, GetAuthToken); } return(Redirect("../Home/Membresias?error=true")); } //var membresias = await ApiHelper.GET_ListById<Membresia>("MembresiaUsuarios/GetMembresiasUsuarioById", GetUserDecrypted.IdUsuario, GetAuthToken); //return Json(membresias, JsonRequestBehavior.AllowGet); }
public static void AgregarTransaccion(SAB_ALM_MOVIMIENTOS movimiento, bool esFarmacia) { using (var db = new SinabEntities()) { using (var ts = new TransactionScope()) { try { var dsDetallesMovientoVale = db.DetalleMovimientosValeSalida( movimiento.IDESTABLECIMIENTO, Convert.ToInt32(movimiento.IDMOVIMIENTO), movimiento.IDTIPOTRANSACCION, esFarmacia ).ToList(); var primerDetalle = dsDetallesMovientoVale.FirstOrDefault(); var usuarioRegistra = db.SAB_CAT_EMPLEADOS.FirstOrDefault(ur => ur.NOMBRECORTO == movimiento.AUUSUARIOCREACION); var usuarioModifica = db.SAB_CAT_EMPLEADOS.FirstOrDefault(ur => ur.NOMBRECORTO == movimiento.AUUSUARIOMODIFICACION); var empleado = Membresia.ObtenerUsuario(); if (primerDetalle.IDSUMINISTRO != 1 || !esFarmacia) { return; } var transaccion = new SAB_FARM_TRANSACION() { NumeroVale = primerDetalle.NUMEROVALE, IdEstablecimiento = usuarioRegistra != null ? usuarioRegistra.IDESTABLECIMIENTO ?? 0 : empleado.Establecimiento.IDESTABLECIMIENTO, IdEstado = Convert.ToChar(EnumHelpers.RequisicionEstados.Enviado).ToString(), IdUsuarioReg = usuarioRegistra != null ? usuarioRegistra.IDEMPLEADO : empleado.IDEMPLEADO, IdUsuarioMod = usuarioModifica != null ? usuarioModifica.IDEMPLEADO : empleado.IDEMPLEADO, FechaHoraMod = primerDetalle.AUFECHAMODIFICACION ?? DateTime.Now, FechaHoraReg = primerDetalle.AUFECHACREACION.Value, }; db.SAB_FARM_TRANSACION.AddObject(transaccion); db.SaveChanges(); foreach (var newex in dsDetallesMovientoVale.Select(t => new SAB_FARM_EXISTENCIA() { IdTrans = transaccion.IdTrans, Codigo = t.Codigo, Cantidad = (double)(t.Cantidad ?? 0), Lote = t.Lote, Precio = (double)(t.Precio ?? 0), FechaVencimiento = t.FECHAVENCIMIENTO, FuenteFinanciamiento = t.FuenteFinanciamiento, FechaHoraReg = t.AUFECHACREACION.Value, FechaHoraMod = t.AUFECHAMODIFICACION, IdUsuarioMod = usuarioModifica.IDEMPLEADO, IdUsuarioReg = usuarioRegistra.IDEMPLEADO })) { db.SAB_FARM_EXISTENCIA.AddObject(newex); } db.SaveChanges(); ts.Complete(); } catch (Exception ex) { throw new Exception(ex.Message); } } } }
private void btnAceptar_Click(object sender, EventArgs e) { string id_membresia = ""; if (!txtPrecio.Text.Equals("") && !txt_efectivo.Text.Equals("")) { if (new Seguridad().validar_numero(txtPrecio.Text) && new Seguridad().validar_numero(txt_efectivo.Text)) { double abono = Convert.ToDouble(txtPrecio.Text, culture); double efectivo = Convert.ToDouble(txt_efectivo.Text, culture); if (efectivo > 0) { try { //MessageBox.Show(paciente.nombre); bool inserto = new Membresia(bandera_online_offline).InsertarMembresia(paciente.id_paciente, datetimepicker1.Value.ToString("yyyy/MM/dd"), paciente.clinica.id_clinica, abono.ToString(culture), alias); if (inserto) { List <MembresiaModel> lista = new Membresia(bandera_online_offline).MostrarMembresias(paciente.id_paciente, paciente.clinica.id_clinica); foreach (var membresia in lista) { id_membresia = membresia.id_membresia; } bool inserto2 = new Abonos_Membresia(bandera_online_offline).InsertarAbonoMembresia(DateTime.Now.ToString("yyyy/MM/dd"), efectivo.ToString(culture), "Primer pago para tener la membresia", id_membresia, paciente.id_paciente, paciente.clinica.id_clinica, alias); if (inserto2) { //System.Windows.Forms.MessageBox.Show("El paciente " + paciente.nombre + " " + paciente.apellidos + " es ahora miembro", "Se ingreso correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); imprimir_recibo(); Soc socio = System.Windows.Application.Current.Windows.OfType <Soc>().FirstOrDefault(); Admin admin = System.Windows.Application.Current.Windows.OfType <Admin>().FirstOrDefault(); Recep recep = System.Windows.Application.Current.Windows.OfType <Recep>().FirstOrDefault(); if (admin != null) { //MessageBox.Show(abono.ToString()); admin.Main.Content = new Abonos_Mem(paciente, id_membresia, abono, alias); } else if (recep != null) { recep.Main3.Content = new Abonos_Mem(paciente, id_membresia, abono, alias); } else if (socio != null) { socio.Main4.Content = new Abonos_Mem(paciente, id_membresia, abono, alias); } } // -----------------------------------------------/ //inserto = new Paciente(!bandera_online_offline).actualizarMembresia(paciente); } else { // System.Windows.Forms.MessageBox.Show("No se pudo Ingresar la membresia", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Se ha producido un error ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.DialogResult = DialogResult.OK; } this.DialogResult = DialogResult.OK; } else { System.Windows.Forms.MessageBox.Show("Abono mayor que efectivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { System.Windows.Forms.MessageBox.Show("Cantidad no valida", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { System.Windows.Forms.MessageBox.Show("LLene todos los campos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }