public void Subscribe(User user, int feedId, string myfeed) { if (!string.IsNullOrEmpty(myfeed)) { Feed feed = new Feed { Title = "My feed", Description = myfeed, URL = myfeed, UserId = user.Id, FeedCategoryId = _repositoryContext.FeedCategories.Where(c => c.Description == "My feeds").FirstOrDefault().Id }; _repositoryContext.Feeds.Add(feed); _repositoryContext.SaveChanges(); feedId = feed.Id; } Subcription subcription = new Subcription { UserId = user.Id, FeedId = feedId }; _repositoryContext.Subcriptions.Add(subcription); _repositoryContext.SaveChanges(); }
//Add subcription public IActionResult AddSubcription(SubcriptionViewModel model) { // 1 Get the login User id var logInUserid = _userManager.GetUserId(HttpContext.User); //get the member name throught ID var membershipList = db.Memberships.ToList(); var membershipName = membershipList.Where(x => x.MembershipId == model.MembershipId) .Select(x => x.MembershipType).SingleOrDefault(); //get the price throught ID var priceList = db.Membership_Prices.ToList(); var priceName = priceList.Where(x => x.PriceId == model.PriceId) .Select(x => x.Price).SingleOrDefault(); //add to sub table Subcription usersub = new Subcription(); usersub.ApplicationUserId = logInUserid; usersub.MembershipId = model.MembershipId; usersub.MembershipName = membershipName; usersub.Amount = priceName; usersub.StartDate = model.Date; db.Add(usersub); db.SaveChanges(); return(RedirectToAction("UserSubcriptionDetails")); }
public async Task <IActionResult> PutSubcription(string id, Subcription subcription) { if (id != subcription.StripeSubCriptionID) { return(BadRequest()); } _context.Entry(subcription).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SubcriptionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void unSubscribe(User user, int feedId) { Subcription subcription = _repositoryContext.Subcriptions.Where(s => s.UserId == user.Id && s.FeedId == feedId).FirstOrDefault(); _repositoryContext.Subcriptions.Remove(subcription); _repositoryContext.SaveChanges(); }
public void EditSubcription(Subcription subcription) { using (Context db = new Context()) { db.Entry(subcription).State = EntityState.Modified; db.SaveChanges(); } }
public void CreateSubscription(Subcription subcription) { using (Context db = new Context()) { db.subcriptions.Add(subcription); db.SaveChanges(); } }
public ActionResult SelectSubscription(Subcription subscriptions) { if (subscriptions != null) { Session["SubscriptionID"] = subscriptions.ID; return(RedirectToAction("Index")); } return(View()); }
public ActionResult Edit([Bind(Include = "ID,Name,Description,CreditLimit")] Subcription subcription) { if (ModelState.IsValid) { DataBank db = new DataBank(); db.EditSubcription(subcription); return(RedirectToAction("Index")); } return(View(subcription)); }
public ActionResult EditCreditPool(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DataBank db = new DataBank(); Subcription subcription = db.GetSubcription(id); if (subcription == null) { return(HttpNotFound()); } return(View(subcription)); }
public void AddSubcribtion() { if (SelectedClient != null && SelectedClient.Id > 0 && !MainInteraction.ThisClientIsSubcribed(SelectedClient) && SelectedSubcriptionType != null) { var newSubcription = new Subcription { Client = SelectedClient, SubcriptionType = SelectedSubcriptionType, StartDate = SelectedStartDate, EndDate = SelectedEndDate }; Main.SubcriptionsRepository.Add(newSubcription); //var history = new History {Client = SelectedClient, Record = DateTime.Now}; //var pay=new Payement{Amount = Amount,Subription = newSubcription,History =history,Moment = DateTime.Now}; var pay = new Payement { Amount = SelectedSubcriptionType.Price, Subription = newSubcription, Moment = DateTime.Now }; Main.PayementsRepository.Add(pay); UpdateUiDataOfForTheCurrentClient(); } }
public async Task <ActionResult <Subcription> > PostSubcription(Subcription subcription) { _context.Subcriptions.Add(subcription); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (SubcriptionExists(subcription.StripeSubCriptionID)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetSubcription", new { id = subcription.StripeSubCriptionID }, subcription)); }
public bool AddUserToSubcription(int userId, int subcriptionId) { Context context = new Context(); try { UserSubcription userSubcription = new UserSubcription(); User user = context.users.Find(userId); Subcription subcription = context.subcriptions.Find(subcriptionId); userSubcription.UserID = user; userSubcription.SubcriptionID = subcription; context.userSubcriptions.Add(userSubcription); context.SaveChanges(); return(true); } catch { // ignored } return(false); }
public async Task <IActionResult> UserRegistration(UserViewModel userVm) { if (UserInfoNotNullOrEmpty(userVm)) { if (userVm.Password == userVm.ConfirmPassword) { var credentialExist = await userDataStore.CheckIfUsernameAndPasswordExist(userVm.Username, userVm.Password); if (!credentialExist) { //Las credenciales de entrada del usuario var userLogin = new Login() { LoginId = Guid.NewGuid(), Password = userVm.Password, Username = userVm.Username }; //Creamos el usuario var newUser = new User() { UserId = Guid.NewGuid(), Email = userVm.Email, LoginId = userLogin.LoginId, Name = userVm.Name, UserLogin = userLogin, Address = userVm.Address }; //Obtenemos datos de empleados necesarios para el registro en stripe var optionsCustomers = new UserDTO { Name = userVm.Name, Email = userVm.Email, Phone = userVm.Phone, Address = userVm.Address, }; //Creamos un nuevo usuario en stripe var customerToken = await StripeServiceDS.CreateStripeCustomer(optionsCustomers); //Le insertamos la tarjeta al nuevo usuario de stripe var cardservicetokenId = await StripeServiceDS.InsertStripeCardToCustomer(PaymentCard, customerToken); //Creamos la subcripcion al usuario var subcriptiontoken = await StripeServiceDS.CreateACustomerSubcription(customerToken); //Verificamos que la informacion este correcta if (!string.IsNullOrEmpty(subcriptiontoken)) { //Le damos el id del nuevo customer de la cuenta de stripe. newUser.StripeUserId = customerToken; //Lo agregamos a la base de datos. var addedUser = await userDataStore.AddItemAsync(newUser); //Verificamos si el usuario se inserto a nuestra base de datos if (addedUser) { //Verificamos si el token de la tarjeta insertada es correcta. if (!string.IsNullOrEmpty(cardservicetokenId)) { //Agregamos la tarjeta a nuestra base de datos. var cardadded = cardDataStore.AddItemAsync(new PaymentCard() { UserId = newUser.UserId, StripeCardId = cardservicetokenId, CardNumber = PaymentCard.CardNumber, Cvc = PaymentCard.Cvc, Month = PaymentCard.Month, Year = PaymentCard.Year, HolderName = PaymentCard.HolderName, PaymentCardId = Guid.NewGuid() }); } //Creamos el lincense var newStoreLicense = new StoreLicense() { LicenseId = Guid.NewGuid(), StartDate = DateTime.Today, LicenseHolderUserId = newUser.UserId }; //Lo insertamos a nuestra base de datos var storelicenceresult = await storeLicenseDataStore.AddItemAsync(newStoreLicense); //Verificamos el resultado if (storelicenceresult) { var subcription = new Subcription() { IsDisable = false, StripeCustomerId = customerToken, StripeSubCriptionID = subcriptiontoken, StoreLicense = newStoreLicense.LicenseId }; var result = SubcriptionDataStore.AddItemAsync(subcription); //Enviamos el email con el codio de la nueva licensia. SendStoreLicenceEmailCode(newUser.Email, newStoreLicense.LicenseId.ToString()); } //Verificamos que los credenciales esten correctos. var resultCredentials = userDataStore.CheckUserCredential(userLogin.Username, userLogin.Password); //Validamos que el resultado no sea vacio if (resultCredentials != null) { //Le damos los credenciales al LogUser LogUser.LoginUser = resultCredentials; } //Luego de todo completado de manera correcta nos vamos a registrar una tienda. return(RedirectToAction("RegisterStore", "Store")); } } else { return(View()); } } else { ViewBag.ErrorMsg = "The creditals already exists."; return(View()); } } else { ViewBag.ErrorMsg = "The password and confirm pasword are different."; return(View()); } } return(View()); }