Example #1
0
        /// <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();
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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));
        }
Example #4
0
        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."));
            }
        }
Example #6
0
        public async Task <IHttpActionResult> GetMembresia(int id)
        {
            Membresia membresia = await db.membresias.FindAsync(id);

            if (membresia == null)
            {
                return(NotFound());
            }

            return(Ok(membresia));
        }
Example #7
0
        /// <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();
        }
Example #8
0
        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));
        }
Example #9
0
 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);
     }
 }
Example #10
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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));
        }
Example #13
0
        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));
        }
Example #14
0
        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();
        }
Example #15
0
        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();
        }
Example #16
0
        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!"));
            }
        }
Example #17
0
        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);
        }
Example #18
0
        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));
        }
Example #19
0
        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;
            }
        }
Example #20
0
        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;
            }
        }
Example #21
0
        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);
                }
            }
        }
Example #22
0
 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);
     }
 }
Example #23
0
        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);
                }
            }
        }
Example #24
0
        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);
        }
Example #25
0
        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();
            //}
        }
Example #26
0
 public IQueryable <Membresia> GetMembresiasActivas(long idRol)
 {
     return(this.context.Membresias
            .Where(x => x.Rol.Id == idRol)
            .Where(Membresia.ActivasPredicate()));
 }
Example #27
0
 public MembresiaNueva()
 {
     InitializeComponent();
     oMembresia = new Membresia();
 }
Example #28
0
        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);
        }
Example #29
0
        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);
            }
        }