public ActionResult EnableDisableAccount(AccountManagementModel accountManagementModel) { if (ModelState.IsValid) { if (accountManagementModel.IsEnabled) { AddNote(accountManagementModel, NoteType.DeactivateAccount, accountManagementModel.DisableAccountNotePopupContent); _commandBus.Send(new DisableAccountByAdmin { AccountId = accountManagementModel.Id }); accountManagementModel.IsEnabled = false; } else { _commandBus.Send(new EnableAccountByAdmin { AccountId = accountManagementModel.Id }); accountManagementModel.IsEnabled = true; } ModelState.Clear(); TempData["UserMessage"] = "Operation done successfully"; } else { TempData["UserMessage"] = "Model state is not valid"; } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
public async Task <ActionResult> SendConfirmationCodeSMS(AccountManagementModel accountManagementModel) { if (accountManagementModel.Email.HasValueTrimmed() && accountManagementModel.CountryCode != null && accountManagementModel.CountryCode.Code.HasValueTrimmed() && accountManagementModel.PhoneNumber.HasValueTrimmed()) { try { _confirmAccountService.Get(new ConfirmationCodeRequest { CountryCode = accountManagementModel.CountryCode.Code, Email = accountManagementModel.Email, PhoneNumber = accountManagementModel.PhoneNumber }); TempData["UserMessage"] = "Operation done successfully"; } catch (Exception e) { TempData["UserMessage"] = e.Message; } } else { TempData["UserMessage"] = "Please provide correct country code, email and phone number"; } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
public async Task <ActionResult> ExportOrders(AccountManagementModel accountManagementModel) { var csv = (List <Dictionary <string, string> >)_exportDataService.Post(new ExportDataRequest { AccountId = accountManagementModel.Id, Target = DataType.Orders }); if (csv.IsEmpty()) { return(View("Index", accountManagementModel)); } var csvFlattened = new StringBuilder(); foreach (var item in csv.ElementAt(0)) { csvFlattened.Append(item.Key).Append(","); } csvFlattened.Append("\n"); foreach (var line in csv) { foreach (var item in line) { csvFlattened.Append(item.Value).Append(","); } csvFlattened.Append("\n"); } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(File(new ASCIIEncoding().GetBytes(csvFlattened.ToString()), "text/csv", "Export.csv")); }
public void Create(AccountManagementModel item) { var account = new AccountEF(item.Id, item.Name, item.ProfileId, null); _db.Accounts.Add(account); _db.SaveChanges(); }
public void Update(AccountManagementModel item) { var account = new AccountEF(item.Id, item.Name, item.ProfileId, null); _db.Entry(account).State = EntityState.Modified; _db.SaveChanges(); }
public async Task <IActionResult> Login(AccountManagementModel model) { if (ModelState.IsValid) { await Authenticate(model.Name); // аутентификация return(RedirectToAction("Index", "Home")); } return(View(model)); }
public ActionResult Index(Guid id, int page = 1) { AccountManagementModel accountManagementModel = InitializeModel(id); // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(id, page, accountManagementModel.OrdersPageSize); accountManagementModel.OrdersPageIndex = page; return(View(accountManagementModel)); }
public ActionResult UnlinkIBSAccount(AccountManagementModel accountManagementModel) { _commandBus.Send(new UnlinkAccountFromIbs { AccountId = accountManagementModel.Id }); TempData["UserMessage"] = "Operation done successfully"; // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
public ActionResult Save(AccountManagementModel accountManagementModel) { if (ModelState.IsValid) { var accountDetail = _accountDao.FindById(accountManagementModel.Id); var accountUpdateRequest = new AccountUpdateRequest { AccountId = accountManagementModel.Id, BookingSettingsRequest = new BookingSettingsRequest { AccountNumber = accountDetail.Settings.AccountNumber, ChargeTypeId = accountDetail.Settings.ChargeTypeId, Country = accountManagementModel.CountryCode, CustomerNumber = accountDetail.Settings.CustomerNumber, DefaultTipPercent = accountManagementModel.DefaultTipPercent, Email = accountManagementModel.Email, FirstName = accountDetail.Name, LastName = accountDetail.Name, Name = accountManagementModel.Name, NumberOfTaxi = accountDetail.Settings.NumberOfTaxi, Passengers = accountDetail.Settings.Passengers, PayBack = accountDetail.Settings.PayBack, Phone = accountManagementModel.PhoneNumber, ProviderId = accountDetail.Settings.ProviderId, VehicleTypeId = accountDetail.Settings.VehicleTypeId } }; try { _bookingSettingsService.Put(accountUpdateRequest); TempData["UserMessage"] = "Operation done successfully"; } catch (Exception e) { TempData["UserMessage"] = e.Message; } } else { TempData["UserMessage"] = "Model state is not valid"; } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
private AccountManagementModel InitializeModel(Guid accountId) { var accountDetail = _accountDao.FindById(accountId); var orders = GetOrderDetails(accountId) ?? new List <OrderDetail>(); var ordersCount = orders.Count(); var accountAgeInDays = (DateTime.UtcNow - accountDetail.CreationDate).TotalDays; var averageTripsPerDay = decimal.Round((decimal)(ordersCount / accountAgeInDays), 1); var totalCanceled = GetOrderStatusDetails(accountId).Count(x => x.IBSStatusId == VehicleStatuses.Common.Cancelled || x.IBSStatusId == VehicleStatuses.Common.CancelledDone); var totalCompleted = orders.Count(order => order.Status == (int)OrderStatus.Completed); var totalNoShow = GetOrderStatusDetails(accountId).Count(x => x.IBSStatusId == VehicleStatuses.Common.NoShow); var model = new AccountManagementModel { Id = accountId, Name = accountDetail.Name, Email = accountDetail.Email, CustomerNumber = accountDetail.Settings.CustomerNumber, CreationDate = accountDetail.CreationDate, FacebookAccount = accountDetail.FacebookId, IBSAccountId = accountDetail.IBSAccountId, IsConfirmed = accountDetail.IsConfirmed, IsEnabled = !accountDetail.DisabledByAdmin, CountryCode = accountDetail.Settings.Country, PhoneNumber = accountDetail.Settings.Phone, ChargeType = accountDetail.Settings.ChargeType, DefaultTipPercent = accountDetail.DefaultTipPercent, IsPayPalAccountLinked = accountDetail.IsPayPalAccountLinked, TotalCanceled = totalCanceled, TotalCompleted = totalCompleted, AverageTripsPerDay = averageTripsPerDay, TotalNoShows = totalNoShow }; if (accountDetail.DefaultCreditCard != null) { var defaultCreditCard = _creditCardDao.FindById(accountDetail.DefaultCreditCard.Value); model.CreditCardLast4Digits = defaultCreditCard.Last4Digits; } model.Notes = _accountNoteService.FindByAccountId(accountId) .OrderByDescending(c => c.CreationDate) .Select(x => new NoteModel(x)) .ToList(); return(model); }
public IActionResult EditAccount(AccountManagementModel account) { try { // TODO: Add update logic here if (ModelState.IsValid) { _profileManagementService.UpdateAccount(account); } return(RedirectToAction(nameof(IndexAccount))); } catch { return(RedirectToAction(nameof(EditAccount))); } }
public ActionResult AddStandardNote(AccountManagementModel accountManagementModel) { if (ModelState.IsValid) { AddNote(accountManagementModel, NoteType.Standard, accountManagementModel.NotePopupContent); TempData["UserMessage"] = "Note added"; ModelState.Clear(); } else { TempData["UserMessage"] = "Model state is not valid"; } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
public ActionResult ResetPassword(AccountManagementModel accountManagementModel) { var accountDetail = _accountDao.FindById(accountManagementModel.Id); var newPassword = new PasswordService().GeneratePassword(); var resetCommand = new ResetAccountPassword { AccountId = accountManagementModel.Id, Password = newPassword }; _commandBus.Send(resetCommand); if (_serverSettings.ServerData.SendPasswordResetAsSMSEnabled) { var smsCommand = new SendPasswordResetSMS { ClientLanguageCode = accountDetail.Language, CountryCode = accountDetail.Settings.Country, PhoneNumber = accountDetail.Settings.Phone, Password = newPassword }; _commandBus.Send(smsCommand); } else { var emailCommand = new SendPasswordResetEmail { ClientLanguageCode = accountDetail.Language, EmailAddress = accountDetail.Email, Password = newPassword, }; _commandBus.Send(emailCommand); } TempData["UserMessage"] = "Operation done successfully, new password: "******"Index", accountManagementModel)); }
private void AddNote(AccountManagementModel accountManagementModel, NoteType noteType, string noteContent) { var accountNoteEntry = new AccountNoteEntry { AccountId = accountManagementModel.Id, WriterAccountId = new Guid(AuthSession.UserAuthId), WriterAccountEmail = AuthSession.UserAuthName, Type = noteType, CreationDate = DateTime.Now, Note = noteContent }; _accountNoteService.Add(accountNoteEntry); if (accountManagementModel.Notes == null) { accountManagementModel.Notes = new List <NoteModel>(); } accountManagementModel.Notes.Insert(0, new NoteModel(accountNoteEntry)); }
public ActionResult DeleteCreditCardsInfo(AccountManagementModel accountManagementModel) { var paymentSettings = _serverSettings.GetPaymentSettings(); var forceUserDisconnect = paymentSettings.CreditCardIsMandatory && (paymentSettings.IsPaymentOutOfAppDisabled != OutOfAppPaymentDisabled.None); _commandBus.Send(new DeleteCreditCardsFromAccounts { AccountIds = new[] { accountManagementModel.Id }, ForceUserDisconnect = forceUserDisconnect }); TempData["UserMessage"] = "Operation done successfully"; // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
public ActionResult RefundOrder(AccountManagementModel accountManagementModel) { if (ModelState.IsValid) { var refundPaymentResponse = _paymentService.RefundPayment(null, accountManagementModel.RefundOrderId); if (refundPaymentResponse.IsSuccessful) { var order = _orderDao.FindByAccountId(accountManagementModel.Id).FirstOrDefault(o => o.Id == accountManagementModel.RefundOrderId); var orderModel = new OrderModel(order); _notificationService.SendOrderRefundEmail( DateTime.Now, refundPaymentResponse.Last4Digits, orderModel.TotalAmount(), accountManagementModel.Email, AuthSession.UserAuthName, order.ClientLanguageCode); AddNote(accountManagementModel, NoteType.Refunded, accountManagementModel.RefundOrderNotePopupContent); TempData["UserMessage"] = "order refunded, note added, email sent"; } else { TempData["UserMessage"] = "an error occured: " + refundPaymentResponse.Message; } ModelState.Clear(); } else { TempData["UserMessage"] = "Model state is not valid"; } // needed to feed orders list accountManagementModel.OrdersPaged = GetOrders(accountManagementModel.Id, accountManagementModel.OrdersPageIndex, accountManagementModel.OrdersPageSize); return(View("Index", accountManagementModel)); }
private TableEditorModel GetAccountTableModel(IEnumerable <AccountManagementModel> accounts, AccountManagementModel account) { var entityType = typeof(AccountManagementModel); var tableModel = new TableEditorModel("Accounts", entityType, "Id", accounts, account); var profiles = _profileManagementService.GetProfiles().OrderBy(p => p.Name); _tableEditorService.AddColumn(tableModel, "Id", null); _tableEditorService.AddColumn(tableModel, "Name", null, ControlType.Input, null); _tableEditorService.AddColumn(tableModel, "ProfileId", null, ControlType.Select, new SelectList(profiles, "Id", "Name")); return(tableModel); }
public void UpdateAccount(AccountManagementModel account) { _accountRepository.Update(account); }