List <UserPackageViewModel> PrepareUserPackageList(List <UserPackage> userPackageList) { List <UserPackageViewModel> UserPackages = new List <UserPackageViewModel>(); foreach (var item in userPackageList) { UserPackageViewModel userPackage = new UserPackageViewModel(); userPackage.Id = item.Id; userPackage.Ipaddress = item.Ipaddress; userPackage.SubscribedDate = item.SubscribedDate; userPackage.CreatedDt = item.CreatedDt; userPackage.CustomerName = item.AspNetUser.Email; userPackage.Package = new PackageViewModel(); userPackage.Package.PackageId = item.Package.PackageId; userPackage.Package.Package_Name = item.Package.Package_Name; userPackage.CarId = item.CarId; UserPackages.Add(userPackage); } return(UserPackages); }
public async Task <ActionResult> UpgradePackageUser(UserPackageViewModel model) { try { //Nếu user đang online ko phải là user nâng cấp=>failse //hoặc user không phải là member thì không nâng cấp long CurrentUserId = long.Parse(User.Identity.GetUserId()); if (CurrentUserId != model.UpgradeUID.Value || !User.IsInRole("Member")) { return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước này bạn " + "không phải là thành viên hoặc gói cước mới không hợp lệ", link = "" })); } User ObjUser = cms_db.GetObjUserByIdNoAsync(model.UpgradeUID.Value); Package ObjNewPackage = cms_db.GetObjPackage(model.PackageId.Value); Package ObjOldPackage = new Package(); if (ObjUser.PackageId.HasValue) { ObjOldPackage = cms_db.GetObjPackage(ObjUser.PackageId.Value); } else { //1 là package free ObjOldPackage = cms_db.GetObjPackage(1); } if (ObjNewPackage.PackageId > ObjOldPackage.PackageId || ObjNewPackage.PackageId == ObjOldPackage.PackageId) { UserPackage objUserPackage = new UserPackage(); objUserPackage.OldPackageID = ObjOldPackage.PackageId; objUserPackage.OldPackageName = ObjOldPackage.PackageName; objUserPackage.CrtdDT = DateTime.Now; objUserPackage.PackageId = ObjNewPackage.PackageId; objUserPackage.PackageName = ObjNewPackage.PackageName; objUserPackage.UpgradeUID = ObjUser.Id; objUserPackage.UpgradeUserName = ObjUser.EMail; objUserPackage.StateId = (int)EnumCore.StateType.cho_duyet; objUserPackage.StateName = "Chờ duyệt"; objUserPackage.UpgradeToken = model.UpgradeToken; objUserPackage.Price = model.TotalPrice; if (model.TotalDay.HasValue) { objUserPackage.NumDay = model.TotalDay.Value; } else { objUserPackage.NumDay = 0; } cms_db.CreateUserPackage(objUserPackage); ObjUser.AwaitPackageId = ObjNewPackage.PackageId; ObjUser.AwaitPackageName = ObjNewPackage.PackageName; int rs = await cms_db.UpdateUser(ObjUser); return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Đã thực hiện nâng cấp vui lòng chờ xét duyệt", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } else { return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước này do gói " + "cước mới không hợp lệ", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } } catch (Exception e) { cms_db.AddToExceptionLog("UpgradePackageUser", "PackageManager", e.ToString(), long.Parse(User.Identity.GetUserId())); return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước" + " này do có lỗi xảy ra trong quá trình nâng cấp", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } }
public ActionResult ConfirmUpgrade(long UserId, long PackageId, int PackageTimeType) { try { long CurrentUserId = long.Parse(User.Identity.GetUserId()); //Nếu user đang online ko phải là user nâng cấp=>failse //hoặc user không phải là member thì không nâng cấp if (CurrentUserId != UserId || !User.IsInRole("Member")) { return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước này bạn " + "không phải là thành viên hoặc gói cước mới không hợp lệ", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } User ObjUser = cms_db.GetObjUserByIdNoAsync(UserId); Package ObjOldPackage = new Package(); //nếu gói cước của user là null hoặc = 1 là free if (ObjUser.PackageId.HasValue) { ObjOldPackage = cms_db.GetObjPackage(ObjUser.PackageId.Value); } else { //1 là package free ObjOldPackage = cms_db.GetObjPackage(1); } UserPackageViewModel model = new UserPackageViewModel(); Package ObjNewPackage = cms_db.GetObjPackage(PackageId); //nếu gói cước mới lớn hơn hoặc bằng thì cho nâng cấp if (ObjNewPackage.PackageId > ObjOldPackage.PackageId || ObjNewPackage.PackageId == ObjOldPackage.PackageId) { model.ObjPackage = ObjNewPackage; model.ObjUser = ObjUser; model.PackageName = ObjNewPackage.PackageName; model.UpgradeUID = ObjUser.Id; model.UpgradeUserName = ObjUser.EMail; model.CrtdDT = DateTime.Now; if (PackageTimeType == (int)EnumCore.PackageTimeType.thang) { model.TotalPrice = ObjNewPackage.NewPrice.Value; model.TotalDay = 30; } if (PackageTimeType == (int)EnumCore.PackageTimeType.quy) { model.TotalPrice = ObjNewPackage.NewPrice3M.Value; model.TotalDay = 90; } if (PackageTimeType == (int)EnumCore.PackageTimeType.vinhvien) { model.TotalPrice = ObjNewPackage.ForeverPrice.Value; } string coderandom = DateTime.UtcNow.Ticks.ToString(); model.UpgradeToken = coderandom; return(View(model)); } else { return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước này do gói cước mới không hợp lệ", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } } catch (Exception e) { cms_db.AddToExceptionLog("ConfirmUpdate", "PackageManager", e.ToString(), long.Parse(User.Identity.GetUserId())); return(RedirectToAction("AlertPage", "Extension", new { AlertString = "Không thể thực hiện nâng cấp với gói cước này do có" + " lỗi xảy ra trong quá trình nâng cấp", link = "", type = (int)EnumCore.AlertPageType.FullScrenn })); } }
public ActionResult Edit(int id) { CarViewModel carModel = new CarViewModel(); var item = db.CarUsers.Where(c => c.CarId == id).SingleOrDefault(); if (item == null) { return(RedirectToAction("Index")); } carModel = new CarViewModel(); carModel.AutoRenewal = item.AutoRenewal; carModel.CarId = item.CarId; carModel.Color = item.Color; carModel.DisplayName = item.DisplayName; carModel.GarageId = item.GarageId; carModel.IsDeleted = item.IsDeleted; carModel.LicenseNumber = item.LicenseNumber; carModel.Make = item.Make; carModel.PurchaseYear = item.PurchaseYear; //carModel.Type = item.Type; //comment by circus carModel.UserId = item.UserId; // carModel.CarType = item.CarType.Description; //comment by circus if (item.Garage != null) { carModel.Garage = item.Garage.Garage_Name; } if (item.UserPackages.Count > 0) { var UserPackagesList = item.UserPackages.Where(i => i.PaymentRecieved == true).ToList(); if (UserPackagesList.Count > 0) { carModel.UserPackages = new List <UserPackageViewModel>(); foreach (var userPackage in UserPackagesList) { UserPackageViewModel userPackageModel = new UserPackageViewModel(); userPackageModel.Id = userPackage.Id; userPackageModel.ActualPrice = userPackage.ActualPrice; userPackageModel.TotalPrice = userPackage.TotalPrice; userPackageModel.TipAmount = userPackage.TipAmount; userPackageModel.ServiceDay = userPackage.ServiceDay; userPackageModel.TimeSlot = userPackage.GaragesTimeingSlotId.HasValue ? userPackage.GargesTimeingSlot.SlotTimeing : ""; userPackageModel.SubscribedDate = userPackage.SubscribedDate; userPackageModel.Package = new PackageViewModel(); userPackageModel.Package.Package_Name = userPackage.Package.Package_Name; userPackageModel.Package.Package_Description = userPackage.Package.Package_Description; userPackageModel.Services = new List <CarServiceViewModel>(); var ServiceList = userPackage.Package.Package_Services.Select(s => s.Service).ToList(); foreach (var service in ServiceList) { CarServiceViewModel serviceModel = new CarServiceViewModel(); serviceModel.Service_Name = service.Service_Name; userPackageModel.Services.Add(serviceModel); } if (userPackage.UserPackagesAddons.Count > 0) { foreach (var userPackagesAddon in userPackage.UserPackagesAddons) { CarServiceViewModel serviceModel = new CarServiceViewModel(); serviceModel.Service_Name = userPackagesAddon.Service.Service_Name; serviceModel.IsAddOn = true; userPackageModel.Services.Add(serviceModel); } } /// Prepare Payments Historys var paypalAutoPaymentList = db.PaypalAutoPayments.Where(p => p.UserPackageID == userPackage.Id).ToList(); if (paypalAutoPaymentList.Count > 0) { foreach (var payment in paypalAutoPaymentList) { PaypalAutoPaymentsViewModel paymentViewModel = new PaypalAutoPaymentsViewModel(); paymentViewModel.Id = payment.Id; paymentViewModel.ReferenceID = payment.ReferenceID; paymentViewModel.TrasactionID = payment.TrasactionID; paymentViewModel.TransactionDate = payment.TransactionDate; paymentViewModel.IsPaid = payment.IsPaid; paymentViewModel.PaymentStatus = payment.PaymentStatus; paymentViewModel.GrossAmount = payment.GrossAmount; paymentViewModel.CreatedOn = payment.CreatedOn; paymentViewModel.ServiceDate = payment.ServiceDate; userPackageModel.PaymentHistorys.Add(paymentViewModel); } } carModel.UserPackages.Add(userPackageModel); } } } return(View(carModel)); }