コード例 #1
0
        public async Task <IHttpActionResult> PutMembresiaUsuario(int id, MembresiaUsuario membresiaUsuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != membresiaUsuario.IdMembresiaUsuario)
            {
                return(BadRequest());
            }

            db.Entry(membresiaUsuario).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MembresiaUsuarioExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        public async Task <IHttpActionResult> GetMembresiaUsuario(int id)
        {
            MembresiaUsuario membresiaUsuario = await db.MembresiaUsuarios.FindAsync(id);

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

            return(Ok(membresiaUsuario));
        }
コード例 #3
0
        public async Task <IHttpActionResult> PostMembresiaUsuario(MembresiaUsuario membresiaUsuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            membresiaUsuario.FechaIngreso = DateTime.Now;
            db.MembresiaUsuarios.Add(membresiaUsuario);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = membresiaUsuario.IdMembresiaUsuario }, membresiaUsuario));
        }
コード例 #4
0
        public async Task <IHttpActionResult> RenovarMembresiaUsuario(MembresiaUsuario membresiaUsuario)
        {
            var      membresiaActual = db.MembresiaUsuarios.Where(m => m.IdMembresiaUsuario == membresiaUsuario.IdMembresiaUsuario).FirstOrDefault();
            TimeSpan tSpanDiferencia = DateTime.Now.Subtract(membresiaActual.FechaExpiracion);

            membresiaActual.FechaExpiracion = membresiaActual.FechaExpiracion.AddDays(membresiaUsuario.Duracion + tSpanDiferencia.Days);
            membresiaActual.Renovada        = true;

            db.Entry(membresiaActual).State = EntityState.Modified;

            await db.SaveChangesAsync();

            return(Ok(membresiaActual));;
        }
コード例 #5
0
        public async Task <IHttpActionResult> DeleteMembresiaUsuario(int id)
        {
            MembresiaUsuario membresiaUsuario = await db.MembresiaUsuarios.FindAsync(id);

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

            db.MembresiaUsuarios.Remove(membresiaUsuario);
            await db.SaveChangesAsync();

            return(Ok(membresiaUsuario));
        }
コード例 #6
0
        public async Task <JsonResult> RenovarMembresiaUsuario(int IdMembresiaUsuario, int CantDiasRenovacion)
        {
            try
            {
                MembresiaUsuario memb = new MembresiaUsuario();
                memb.IdMembresiaUsuario = IdMembresiaUsuario;
                memb.Duracion           = CantDiasRenovacion;
                var membresia = await ApiHelper.PUT <MembresiaUsuario>("MembresiaUsuarios/RenovarMembresiaUsuario", memb, GetAuthToken);

                return(Json(new { Result = "OK", Message = "La membresía del usuario ha sido renovada exitosamente. Su nueva fecha de expiración es " + (DateTime.Now.AddDays(CantDiasRenovacion).ToShortDateString()) + "." }));
            }
            catch (Exception)
            {
                return(Json(new { Result = "ERROR", Type = "error", Message = "Ha ocurrido un error al renovar la membresia del usuario. Si el problema persiste contacte su administrador." }));
            }
        }
コード例 #7
0
ファイル: NegNegocio.cs プロジェクト: angelbrunn/uai-grado
        /// <summary>
        ///
        /// </summary>
        /// <param name="idMembresia"></param>
        /// <param name="idUsuario"></param>
        /// <returns></returns>
        public int RegistrarMembresiaParaUsuario(string idMembresia, string idUsuario)
        {
            int resultadoValidacion            = 1;
            MembresiaUsuario oMembresiaUsuario = new MembresiaUsuario();

            oMembresiaUsuario.IdMembresia = idMembresia;
            oMembresiaUsuario.IdUsuario   = idUsuario;

            try
            {
                resultadoValidacion = 0;
                DATOS.DALMembresia oDalMembresia = new DATOS.DALMembresia();
                oDalMembresia.InsertarMembresiaParaUsuario(oMembresiaUsuario);
            }
            catch (Exception ex)
            {
                resultadoValidacion = 1;
                EXCEPCIONES.BLLExcepcion oExBLL = new EXCEPCIONES.BLLExcepcion(ex.Message);
                interfazNegocioBitacora.RegistrarEnBitacora_BLL(idUsuario, oExBLL);
            }
            return(resultadoValidacion);
        }
コード例 #8
0
ファイル: DALMembresia.cs プロジェクト: angelbrunn/uai-grado
        /// <summary>
        ///
        /// </summary>
        /// <param name="idMembresia"></param>
        /// <param name="idUsuario"></param>
        public void InsertarMembresiaParaUsuario(MembresiaUsuario oMembresiaUsuario)
        {
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MotoPoint"].ConnectionString))
            {
                using (SqlCommand cmdInsert = new SqlCommand("INSERT INTO MembresiaUsuario([idUsuario],[idMembresia]) VALUES (@IdUsuario,@IdMembresia)", con))
                {
                    cmdInsert.Parameters.AddWithValue("@IdUsuario", oMembresiaUsuario.IdUsuario);
                    cmdInsert.Parameters.AddWithValue("@IdMembresia", oMembresiaUsuario.IdMembresia);

                    try
                    {
                        con.Open();
                        cmdInsert.ExecuteNonQuery();
                        con.Close();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        throw new EXCEPCIONES.DALExcepcion(ex.Message);
                    }
                }
            }
        }
コード例 #9
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);
        }
コード例 #10
0
        public MembresiaUsuario GetMembresiaUsuarioByTransactionId(string IdTransaction)
        {
            MembresiaUsuario membresiaUsuario = db.MembresiaUsuarios.First(m => m.IdTransaccionPago == IdTransaction);

            return(membresiaUsuario);
        }