public async Task <IActionResult> PutWarrantyCard([FromRoute] int id, [FromBody] WarrantyCard warrantyCard) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != warrantyCard.WarrantyCardId) { return(BadRequest()); } _context.Entry(warrantyCard).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WarrantyCardExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostWarrantyCard([FromBody] WarrantyCard warrantyCard) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.WarrantyCards.Add(warrantyCard); await _context.SaveChangesAsync(); return(CreatedAtAction("GetWarrantyCard", new { id = warrantyCard.WarrantyCardId }, warrantyCard)); }
public async Task <IActionResult> CreateOrderDetail(SellViewModel sellViewModel) { if (ModelState.IsValid) { var order = await _context.Order.SingleAsync(m => m.OrderID == sellViewModel.OrderDetail.OrderID); // Check da in hay chua if (order.IsPrinted == true) { ViewData["ErrorText"] = "Bạn không thể sửa sau khi in"; return(View("ErrorPage")); } //Kiem tra co quyen them ko var isAuthorized = await _authorizationService.AuthorizeAsync(User, order, OrderOperations.Update); if (!isAuthorized.Succeeded) { return(new ChallengeResult()); } var warrantyCard = new WarrantyCard(); warrantyCard.NumberOfWarranty = 0; warrantyCard.StartDate = DateTime.Now; var itemInfo = await _context.Item.Where(m => m.ItemID == sellViewModel.OrderDetail.ItemID).Include(m => m.ModelFromSupplier).SingleOrDefaultAsync(); warrantyCard.EndDate = DateTime.Now.AddMonths(itemInfo.ModelFromSupplier.Period); warrantyCard.IsPrinted = false; warrantyCard.IsDisabled = false; warrantyCard.ItemID = sellViewModel.OrderDetail.ItemID; warrantyCard.ApplicationUserID = _userManager.GetUserId(User); _context.Add(warrantyCard); _context.Add(sellViewModel.OrderDetail); var itemID = sellViewModel.OrderDetail.ItemID; var item = await _context.Item.SingleAsync(m => m.ItemID == itemID); item.Status = ItemStatus.Sold; _context.Update(item); order.Total += sellViewModel.OrderDetail.PriceSold; _context.Update(order); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Detail), new { id = sellViewModel.OrderDetail.OrderID })); }
public int DeleteWarrantyCard(int ID) { try { WarrantyCard obj = cnn.WarrantyCards.Find(ID); obj.IsActive = SystemParam.NO_ACTIVE_DELETE; Warranty warranty = cnn.Warranties.Find(obj.WarrantyID); warranty.QTY = warranty.QTY - 1; cnn.SaveChanges(); return(SystemParam.RETURN_TRUE); } catch (Exception ex) { ex.ToString(); return(SystemParam.RETURN_FALSE); } }
public static async Task Initialize(IServiceProvider serviceProvider, string testUserPw) { using (var context = new ApplicationDbContext( serviceProvider.GetRequiredService <DbContextOptions <ApplicationDbContext> >())) { // For sample purposes we are seeding 2 users both with the same password. // The password is set with the following command: // dotnet user-secrets set SeedUserPW <pw> // The admin user can do anything // Check that database has had anything // Look for any movies. if (context.ApplicationUser.Any()) { return; // DB has been seeded } //var listApplicationUserID = await InitApplicationUser(serviceProvider, testUserPw); //var adminID = await EnsureUser(serviceProvider, testUserPw, "*****@*****.**"); //await EnsureRole(serviceProvider, adminID, Constants.AdminRole); var admin = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Admin", LastName = "Nguyen", Birthday = DateTime.Parse("1991-09-20"), Phone = "0838442463", PhoneNumber = "0838442463", Address = "42/10 Mai Văn Ngọc, Gò Vấp", Role = UserRole.Admin }; admin = await CreateApplicationUser(serviceProvider, admin, testUserPw); var adminID = admin.Id; await EnsureRole(serviceProvider, adminID, Constants.AdminRole); // allowed user can create and edit contacts that they create //var saleID = await EnsureUser(serviceProvider, testUserPw, "*****@*****.**"); //await EnsureRole(serviceProvider, saleID, Constants.SaleRole); var sale = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Sale", LastName = "Nguyen", Birthday = DateTime.Parse("1991-09-20"), Phone = "0838442463", PhoneNumber = "0838442463", Address = "42/10 Mai Văn Ngọc, Gò Vấp", Role = UserRole.Sale }; sale = await CreateApplicationUser(serviceProvider, sale, testUserPw); var saleID = sale.Id; await EnsureRole(serviceProvider, saleID, Constants.SaleRole); //var warehousemanagerID = await EnsureUser(serviceProvider, testUserPw, "*****@*****.**"); //await EnsureRole(serviceProvider, warehousemanagerID, Constants.WarehouseManagerRole); var warehouseManager = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Warehouse Manager", LastName = "Nguyen", Birthday = DateTime.Parse("1991-09-20"), Phone = "0838442463", PhoneNumber = "0838442463", Address = "42/10 Mai Văn Ngọc, Gò Vấp", Role = UserRole.WarehouseManager }; warehouseManager = await CreateApplicationUser(serviceProvider, warehouseManager, testUserPw); var warehouseManagerID = warehouseManager.Id; await EnsureRole(serviceProvider, warehouseManagerID, Constants.WarehouseManagerRole); //var technicalID = await EnsureUser(serviceProvider, testUserPw, "*****@*****.**"); //await EnsureRole(serviceProvider, technicalID, Constants.TechnicalRole); var technical = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Technical", LastName = "Nguyen", Birthday = DateTime.Parse("1991-09-20"), Phone = "0838442463", PhoneNumber = "0838442463", Address = "42/10 Mai Văn Ngọc, Gò Vấp", Role = UserRole.Technical }; technical = await CreateApplicationUser(serviceProvider, technical, testUserPw); var technicalID = technical.Id; await EnsureRole(serviceProvider, technicalID, Constants.TechnicalRole); //var adminTwoID = await EnsureUser(serviceProvider, "Abc123456!", "*****@*****.**"); //await EnsureRole(serviceProvider, adminTwoID, Constants.AdminRole); var adminTwo = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Admin Two", LastName = "Nguyen", Birthday = DateTime.Parse("1991-09-20"), Phone = "0838442463", PhoneNumber = "0838442463", Address = "42/10 Mai Văn Ngọc, Gò Vấp", Role = UserRole.Admin }; adminTwo = await CreateApplicationUser(serviceProvider, adminTwo, "Abc123456!"); var adminTwoID = adminTwo.Id; await EnsureRole(serviceProvider, adminTwoID, Constants.AdminRole); // Add Full info Admin user var employerToanAdmin = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Toan", LastName = "Nguyen Thanh Thien", Birthday = DateTime.Parse("1992-09-20"), Phone = "01672699288", PhoneNumber = "01672699288", Address = "30/15 Đặng Văn Bi, Gò Vấp", Role = UserRole.Admin }; employerToanAdmin = await CreateApplicationUser(serviceProvider, employerToanAdmin, "Abc123456!"); await EnsureRole(serviceProvider, employerToanAdmin.Id, Constants.AdminRole); // Add Full info Sale user var employerThuSale = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Thư", LastName = "Châu Hồng Anh", Birthday = DateTime.Parse("1996-03-16"), Phone = "0168794582", PhoneNumber = "0168794582", Address = "80 Cách Mạng Tháng 8, Tân Bình", Role = UserRole.Sale }; employerThuSale = await CreateApplicationUser(serviceProvider, employerThuSale, "Abc123456!"); await EnsureRole(serviceProvider, employerThuSale.Id, Constants.SaleRole); // Add Full info WarehouseManager user var employerSinhWarehouse = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Sinh", LastName = "Nguyễn Tri", Birthday = DateTime.Parse("1996-08-10"), Phone = "01672699288", PhoneNumber = "01672699288", Address = "162 Huỳnh Văn Bánh, Quận Phú Nhuận", Role = UserRole.WarehouseManager }; employerSinhWarehouse = await CreateApplicationUser(serviceProvider, employerSinhWarehouse, "Abc123456!"); await EnsureRole(serviceProvider, employerSinhWarehouse.Id, Constants.WarehouseManagerRole); // Add Full info Technical user var employerNgaTechnical = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Nga", LastName = "Võ Thị Thúy", Birthday = DateTime.Parse("1996-10-05"), Phone = "0983254435", PhoneNumber = "0983254435", Address = "ktx khu B Dĩ An, tỉnh Bình Dương", Role = UserRole.Technical }; employerNgaTechnical = await CreateApplicationUser(serviceProvider, employerNgaTechnical, "Abc123456!"); await EnsureRole(serviceProvider, employerNgaTechnical.Id, Constants.TechnicalRole); // Add Full info Accountant user var employerPhuongAccountant = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Phương", LastName = "Nguyễn Lan", Birthday = DateTime.Parse("1996-07-13"), Phone = "0983254435", PhoneNumber = "0983254435", Address = "ktx khu B Dĩ An, tỉnh Bình Dương", Role = UserRole.Accountant }; employerNgaTechnical = await CreateApplicationUser(serviceProvider, employerPhuongAccountant, "Abc123456!"); await EnsureRole(serviceProvider, employerPhuongAccountant.Id, Constants.AccountantRole); #region Snipset_Seeddata var constants = new Constant[] { new Constant { Name = "Hạn đổi trả", Description = "Thời hạn mà người dùng có thể đổi trả sản phẩm tính từ lúc lập phiếu bảo hành", Parameter = 7 } }; foreach (Constant constant in constants) { context.Add(constant); } context.SaveChanges(); #region Customer var customers = new Customer[] { new Customer { Name = "Trần Thị Thanh Thảo", Phone = "01672699288", Address = "164 Huỳnh Văn Bánh, quận Phú Nhuận", Birthday = DateTime.Parse("1996-07-13"), Gender = GenderType.Female, Country = "Vietnam" }, new Customer { Name = "Trần Đức Duy", Phone = "0983254435", Address = "335/13 Nguyễn Thái Sơn, quận Gò Vấp", Birthday = DateTime.Parse("1992-04-01"), Gender = GenderType.Male, Country = "Vietnam" }, new Customer { Name = "Phạm Đình Vy", Phone = "0167254435", Address = "335/13 Nguyễn Thái Sơn, quận Gò Vấp", Birthday = DateTime.Parse("1991-04-01"), Gender = GenderType.Male, Country = "Vietnam" } }; foreach (Customer c in customers) { context.Customer.Add(c); } context.SaveChanges(); #endregion #region Brand var brands = new Brand[] { new Brand { Name = "Samsung", Country = "Hàn Quốc", Description = "Không có" }, new Brand { Name = "Apple", Country = "USA", Description = "" }, new Brand { Name = "Oppo", Country = "China", Description = "" }, new Brand { Name = "JBL", Country = "USA", Description = "" }, new Brand { Name = "ESaver", Country = "Vietnam", Description = "" } }; foreach (Brand brand in brands) { context.Brand.Add(brand); } context.SaveChanges(); #endregion #region Supplier var suppliers = new Supplier[] { new Supplier { Name = "FPT", Address = "Lô 37-39A, đường 19, KCX Tân Thuận, Tân Thuận Đông, Q7", Phone = "+84 7300 2222", Email = "*****@*****.**", Code = "500000", Status = SupplierStatus.Active, PicName = "Nguyễn Văn A", PicEmail = "*****@*****.**", PicPhone = "+84 7300 2222" }, new Supplier { Name = "Viettel", Address = "174 Trần Quang Khải, quận 1", Phone = "0963100900", Email = "*****@*****.**", Code = "500000", Status = SupplierStatus.Active, PicName = "Viettel", PicEmail = "*****@*****.**", PicPhone = "0963100900" }, new Supplier { Name = "The Gioi Di Dong", Address = "128 Trần Quang Khải, P. Tân Định, Q.1", Phone = "18001060", Email = "*****@*****.**", Code = "500000", Status = SupplierStatus.Active, PicName = "The Gioi Di Dong", PicEmail = "*****@*****.**", PicPhone = "18001060" } }; foreach (Supplier s in suppliers) { context.Supplier.Add(s); } context.SaveChanges(); #endregion #region Model var models = new Model[] { new Model { Name = "Samsung Galaxy j7 Pro 64gbs", Color = "Black", Description = "Là chiếc điện thoại cao cấp thời thượng của giới trẻ", Specification = "Chip 8 nhân, Ram 3Gbs, ROM 64Gbs", Type = ModelType.Device, BrandID = brands.Single(i => i.Name == "Samsung").BrandID }, new Model { Name = "Samsung Galaxy A8+ (2018)", Color = "Grey", Description = "Là chiếc điện thoại cao cấp thời thượng của giới trẻ", Specification = "Chip 8 nhân, Ram 4Gbs, ROM 64Gbs", Type = ModelType.Device, BrandID = brands.Single(i => i.Name == "Samsung").BrandID }, new Model { Name = "IPhone X 64Gbs", Color = "Black", Description = "Smart phone cao cấp", Specification = "Chip 8 nhân, Ram 4Gbs, ROM 64Gbs", Type = ModelType.Device, BrandID = brands.Single(i => i.Name == "Apple").BrandID }, new Model { Name = "IPhone 8 128Gbs", Color = "Black", Description = "Smart phone cao cấp", Specification = "Chip 8 nhân, Ram 4Gbs, ROM 64Gbs", Type = ModelType.Device, BrandID = brands.Single(i => i.Name == "Apple").BrandID }, new Model { Name = "Tai Nghe JBL T450BT", Color = "Black", Description = "Tai nghe cao cấp", Specification = "", Type = ModelType.Accessory, BrandID = brands.Single(i => i.Name == "JBL").BrandID }, new Model { Name = "Dây cáp Micro USB 0.2 m eSaver BST-0728", Color = "White", Description = "Dây cáp sạc", Specification = "", Type = ModelType.Accessory, BrandID = brands.Single(i => i.Name == "ESaver").BrandID } }; foreach (Model m in models) { context.Model.Add(m); } context.SaveChanges(); #endregion #region StockReceiving var stockReceivings = new StockReceiving[] { new StockReceiving { Date = DateTime.Parse("2017-08-21 7:34:42Z"), SupplierID = suppliers.Single(i => i.Name == "FPT").SupplierID, ApplicationUserID = employerSinhWarehouse.Id }, new StockReceiving { Date = DateTime.Parse("2017-10-15 11:34:42Z"), SupplierID = suppliers.Single(i => i.Name == "The Gioi Di Dong").SupplierID, ApplicationUserID = employerSinhWarehouse.Id }, new StockReceiving { Date = DateTime.Parse("2017-12-15 11:34:42Z"), SupplierID = suppliers.Single(i => i.Name == "Viettel").SupplierID, ApplicationUserID = employerSinhWarehouse.Id }, }; foreach (StockReceiving sr in stockReceivings) { context.StockReceiving.Add(sr); } context.SaveChanges(); #endregion #region ModelFromSupplier var modelFromSuppliers = new ModelFromSupplier[] { new ModelFromSupplier { Quantity = 2, PriceBought = 22000000, PriceSold = 34000000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, new ModelFromSupplier { Quantity = 1, PriceBought = 15000000, PriceSold = 24000000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, new ModelFromSupplier { Quantity = 3, PriceBought = 800000, PriceSold = 1200000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, new ModelFromSupplier { Quantity = 2, PriceBought = 800000, PriceSold = 1200000, Date = DateTime.Parse("2017-10-15 11:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID, StockReceivingID = stockReceivings[1].StockReceivingID }, new ModelFromSupplier { Quantity = 2, PriceBought = 80000, PriceSold = 150000, Date = DateTime.Parse("2017-10-15 11:34:42Z"), Period = 3, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID, StockReceivingID = stockReceivings[1].StockReceivingID }, new ModelFromSupplier { Quantity = 3, PriceBought = 22000000, PriceSold = 32000000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, //Stock Receiving [2] (06-01-2017) new ModelFromSupplier { Quantity = 4, PriceBought = 14000000, PriceSold = 23000000, Date = DateTime.Parse("2017-12-15 11:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID, StockReceivingID = stockReceivings[2].StockReceivingID }, new ModelFromSupplier { Quantity = 2, PriceBought = 18000000, PriceSold = 26000000, Date = DateTime.Parse("2017-12-15 11:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "IPhone 8 128Gbs").ModelID, StockReceivingID = stockReceivings[2].StockReceivingID }, //Stock Receiving [0] (06-01-2017) new ModelFromSupplier { Quantity = 2, PriceBought = 80000, PriceSold = 150000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 3, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, new ModelFromSupplier { Quantity = 3, PriceBought = 12000000, PriceSold = 18000000, Date = DateTime.Parse("2017-08-21 7:34:42Z"), Period = 12, ModelID = models.Single(i => i.Name == "Samsung Galaxy j7 Pro 64gbs").ModelID, StockReceivingID = stockReceivings[0].StockReceivingID }, }; foreach (ModelFromSupplier mfs in modelFromSuppliers) { context.ModelFromSupplier.Add(mfs); } context.SaveChanges(); #endregion #region Item var items = new Item[] { new Item { IMEI = "2546CQC189CQ438CSA", SerializerNumber = "220167955897642", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[0].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID }, new Item { IMEI = "QC587QC189C8468CSA", SerializerNumber = "387457952854642", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[0].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID }, new Item { IMEI = "59189VEB69C8468CSA", SerializerNumber = "387457952854642", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[1].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID }, // Model From Supplier [2] - 3 new Item { IMEI = "8642134FW528468CSA", SerializerNumber = "487995313284612", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[2].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID }, new Item { IMEI = "CE468CQF2FW87VWSCE", SerializerNumber = "652217985431287", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[2].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID }, new Item { IMEI = "PIV477VWV658VWC249", SerializerNumber = "320549785423187", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[2].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID }, // Model From Supplier [3] - 2 new Item { IMEI = "5846AVRW69C8468CSA", SerializerNumber = "587643215854642", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[3].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID }, new Item { IMEI = "589CQVLC5495V68CSA", SerializerNumber = "302164897524642", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[3].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Tai Nghe JBL T450BT").ModelID }, // Model From Supplier [4] - 2 new Item { IMEI = "TY7985CQC46CQE879V", SerializerNumber = "978521347852794", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[4].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID }, new Item { IMEI = "CV7854VWV6216VWV58", SerializerNumber = "217985462318746", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[4].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID }, // Model From Supplier [5] - 3 (06-01-2017) new Item { IMEI = "VW864CWC8643VWV842", SerializerNumber = "546789531582314", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[5].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID }, new Item { IMEI = "38VW4862VWV879VEV8", SerializerNumber = "698462135974568", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[5].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID }, new Item { IMEI = "3186WVV86VEPM567VW", SerializerNumber = "135679885465431", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[5].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone X 64Gbs").ModelID }, // Model From Supplier [6] - 4 (06-01-2017) new Item { IMEI = "2587CQC6452VQV8466", SerializerNumber = "521346899522846", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[6].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID }, new Item { IMEI = "VWV7546VW89CWV54FW", SerializerNumber = "465231346558654", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[6].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID }, new Item { IMEI = "VWHWH84648GW5LHA54", SerializerNumber = "231665846589756", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[6].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID }, new Item { IMEI = "CGWG89754FQGE85FQW", SerializerNumber = "234658946532135", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[6].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy A8+ (2018)").ModelID }, // Model From Supplier [7] - 2 (06-01-2017) new Item { IMEI = "EE5648CWV64658VWEV", SerializerNumber = "523134688945621", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[7].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone 8 128Gbs").ModelID }, new Item { IMEI = "VWV65489WVV54VV632", SerializerNumber = "132564789552358", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[7].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "IPhone 8 128Gbs").ModelID }, // Model From Supplier [8] - 2 (06-01-2017) new Item { IMEI = "VDW846VWV87VWV6542", SerializerNumber = "135979855231465", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[8].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID }, new Item { IMEI = "CWV879VW8VW54VSV87", SerializerNumber = "165879551325879", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[8].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Dây cáp Micro USB 0.2 m eSaver BST-0728").ModelID }, //Model From Supplier [9] - 3 (06-01-2017) new Item { IMEI = "PQJ4658CWV642318CW", SerializerNumber = "313587954621356", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[9].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy j7 Pro 64gbs").ModelID }, new Item { IMEI = "POQ5468VWE612VVW87", SerializerNumber = "853132579856423", Note = "", Status = ItemStatus.Sold, ModelFromSupplierID = modelFromSuppliers[9].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy j7 Pro 64gbs").ModelID }, new Item { IMEI = "VWV798VWV56VS213VW", SerializerNumber = "985645675213258", Note = "", Status = ItemStatus.InStock, ModelFromSupplierID = modelFromSuppliers[9].ModelFromSupplierID, ModelID = models.Single(i => i.Name == "Samsung Galaxy j7 Pro 64gbs").ModelID }, }; foreach (Item i in items) { context.Item.Add(i); } context.SaveChanges(); #endregion #region Order var orders = new Order[] { new Order { Total = 34000000, Date = DateTime.Parse("2017-08-29 7:34:42Z"), IsPrinted = true, CustomerID = customers[0].CustomerID, ApplicationUserID = employerThuSale.Id }, new Order { Total = 25200000, Date = DateTime.Parse("2017-09-05 11:34:42Z"), IsPrinted = true, CustomerID = customers[1].CustomerID, ApplicationUserID = saleID }, new Order { Total = 1350000, Date = DateTime.Parse("2017-09-16 15:24:42Z"), IsPrinted = true, CustomerID = customers[2].CustomerID, ApplicationUserID = employerThuSale.Id }, new Order { Total = 18000000, Date = DateTime.Parse("2017-10-21 8:24:42Z"), IsPrinted = true, CustomerID = customers[1].CustomerID, ApplicationUserID = employerThuSale.Id }, new Order { Total = 19200000, Date = DateTime.Parse("2017-11-21 8:24:42Z"), IsPrinted = true, CustomerID = customers[0].CustomerID, ApplicationUserID = saleID }, new Order { Total = 26000000, Date = DateTime.Parse("2017-12-03 8:24:42Z"), IsPrinted = true, CustomerID = customers[2].CustomerID, ApplicationUserID = employerThuSale.Id }, new Order { Total = 34000000, Date = DateTime.Parse("2017-11-23 8:24:42Z"), IsPrinted = true, CustomerID = customers[0].CustomerID, ApplicationUserID = saleID }, }; foreach (Order order in orders) { context.Order.Add(order); } context.SaveChanges(); #endregion #region OrderDetail var orderDetails = new OrderDetail[] { new OrderDetail { PriceSold = 34000000, ItemID = items[0].ItemID, OrderID = orders[0].OrderID }, new OrderDetail { PriceSold = 24000000, ItemID = items[2].ItemID, OrderID = orders[1].OrderID }, new OrderDetail { PriceSold = 1200000, ItemID = items[3].ItemID, OrderID = orders[1].OrderID }, new OrderDetail { PriceSold = 1200000, ItemID = items[4].ItemID, OrderID = orders[2].OrderID }, new OrderDetail { PriceSold = 150000, ItemID = items[8].ItemID, OrderID = orders[2].OrderID }, new OrderDetail { PriceSold = 18000000, ItemID = items[21].ItemID, OrderID = orders[3].OrderID }, new OrderDetail { PriceSold = 18000000, ItemID = items[22].ItemID, OrderID = orders[4].OrderID }, new OrderDetail { PriceSold = 1200000, ItemID = items[5].ItemID, OrderID = orders[4].OrderID }, new OrderDetail { PriceSold = 26000000, ItemID = items[17].ItemID, OrderID = orders[5].OrderID }, new OrderDetail { PriceSold = 34000000, ItemID = items[1].ItemID, OrderID = orders[6].OrderID }, }; foreach (OrderDetail orderDetail in orderDetails) { context.OrderDetail.Add(orderDetail); } context.SaveChanges(); #endregion #region WarrantyCard var warrantyCards = new WarrantyCard[] { new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-08-29"), EndDate = DateTime.Parse("2018-08-29"), ItemID = items[0].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-09-05"), EndDate = DateTime.Parse("2018-09-05"), ItemID = items[2].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-09-05"), EndDate = DateTime.Parse("2018-09-05"), ItemID = items[3].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-09-16"), EndDate = DateTime.Parse("2018-09-16"), ItemID = items[4].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-09-16"), EndDate = DateTime.Parse("2017-12-16"), ItemID = items[8].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-10-21"), EndDate = DateTime.Parse("2018-10-21"), ItemID = items[21].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-11-21"), EndDate = DateTime.Parse("2018-11-21"), ItemID = items[22].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = saleID }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-11-21"), EndDate = DateTime.Parse("2018-11-21"), ItemID = items[5].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = saleID }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-12-03"), EndDate = DateTime.Parse("2018-12-03"), ItemID = items[17].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = employerThuSale.Id }, new WarrantyCard { NumberOfWarranty = 0, StartDate = DateTime.Parse("2017-11-23"), EndDate = DateTime.Parse("2018-11-23"), ItemID = items[1].ItemID, IsPrinted = true, IsDisabled = false, TransactionCode = Guid.NewGuid(), ApplicationUserID = saleID }, }; foreach (WarrantyCard warrantyCard in warrantyCards) { context.WarrantyCard.Add(warrantyCard); } context.SaveChanges(); #endregion #endregion } }
//Tạo Phiếu khuyến mãi public int CreatWarranty(CreateWarrantyWebInputModel input) { try { string warrantyCode = ""; string last_warrantycode = cnn.Warranties.Where(u => u.IsActive.Equals(SystemParam.ACTIVE)).OrderByDescending(u => u.ID).Select(u => u.WarrantyCode).First(); int numberCode = int.Parse(last_warrantycode.Replace("BH", "")) + 1; if (numberCode < 10) { warrantyCode = "BH000000" + numberCode; } else if (numberCode < 100) { warrantyCode = "BH00000" + numberCode; } else if (numberCode < 1000) { warrantyCode = "BH0000" + numberCode; } else if (numberCode < 10000) { warrantyCode = "BH000" + numberCode; } else if (numberCode < 100000) { warrantyCode = "BH00" + numberCode; } else if (numberCode < 1000000) { warrantyCode = "BH0" + numberCode; } else if (numberCode < 10000000) { warrantyCode = "BH" + numberCode; } Warranty wrt = new Warranty(); wrt.CreateUserID = input.CreateUserID; wrt.WarrantyCode = warrantyCode; wrt.QTY = input.Qty; wrt.Point = input.Point; wrt.ExpireDate = input.GetExpireDate(); wrt.CreateDate = DateTime.Today; wrt.IsActive = SystemParam.ACTIVE; cnn.Warranties.Add(wrt); for (int i = 1; i <= input.Qty; i++) { WarrantyCard obj = new WarrantyCard(); obj.WarrantyCardCode = Util.CreateMD5(warrantyCode + '_' + i).Substring(0, SystemParam.LENGTH_QR_HASH); obj.CreateDate = DateTime.Today; obj.IsActive = SystemParam.ACTIVE; obj.Status = SystemParam.W_STATUS_NO_ACTIVE; wrt.WarrantyCards.Add(obj); } cnn.SaveChanges(); int WarrantyID = cnn.Warranties.Where(u => u.IsActive.Equals(SystemParam.ACTIVE) && u.WarrantyCode.Equals(warrantyCode)).Select(u => u.ID).First(); return(WarrantyID); } catch (Exception ex) { ex.ToString(); return(SystemParam.RETURN_FALSE); } }
public async Task <IActionResult> CreateReturnItem(WarrantyCardViewModel warrantyCardVm) { var warrantyCard = await _context.WarrantyCard.Include(m => m.Item).ThenInclude(m => m.Model).SingleOrDefaultAsync(m => m.ItemID == warrantyCardVm.ReturnItem.OldItemID); if (ModelState.IsValid) { var returnDeadline = await _context.Constant.SingleAsync(m => m.ConstantID == 1); var anyReturnItem = await _context.ReturnItem.Where(m => m.OldItemID == warrantyCard.ItemID).AnyAsync(); if (DateTime.Now <= warrantyCard.StartDate.AddDays(returnDeadline.Parameter) && !anyReturnItem && warrantyCard.IsPrinted) { // Tạo thông tin return item var returnItem = new ReturnItem(); returnItem.OldItemID = warrantyCardVm.ReturnItem.OldItemID; returnItem.DefectInfo = warrantyCardVm.ReturnItem.DefectInfo; returnItem.NewItemID = warrantyCardVm.ReturnItem.NewItemID; returnItem.ReturnDate = DateTime.Now; returnItem.ApplicationUserID = _userManager.GetUserId(User); // Tạo warrantycard cho sản phẩm đổi var newWarrantyCard = new WarrantyCard(); newWarrantyCard.NumberOfWarranty = 0; newWarrantyCard.StartDate = DateTime.Now; var itemInfo = await _context.Item.Where(m => m.ItemID == warrantyCardVm.ReturnItem.NewItemID) .Include(m => m.ModelFromSupplier).SingleOrDefaultAsync(); newWarrantyCard.EndDate = DateTime.Now.AddMonths(itemInfo.ModelFromSupplier.Period); newWarrantyCard.IsPrinted = false; newWarrantyCard.IsDisabled = false; newWarrantyCard.ItemID = warrantyCardVm.ReturnItem.NewItemID; newWarrantyCard.ApplicationUserID = _userManager.GetUserId(User); // Disable warrantyCard cũ warrantyCard.IsDisabled = true; // Cap nhat tinh trang san pham cu var oldItem = await _context.Item.SingleAsync(m => m.ItemID == warrantyCardVm.ReturnItem.OldItemID); oldItem.Status = ItemStatus.Returned; // Cap nhat tinh trang san pham moi var newItem = await _context.Item.SingleAsync(m => m.ItemID == warrantyCardVm.ReturnItem.NewItemID); newItem.Status = ItemStatus.Sold; _context.UpdateRange(oldItem, newItem); _context.Add(newWarrantyCard); _context.Update(warrantyCard); _context.Add(returnItem); await _context.SaveChangesAsync(); } else { ViewData["ErrorText"] = "Khong the Doi tra"; return(View("ErrorPage")); } } return(RedirectToAction(nameof(Detail), "WarrantyCards", new { id = warrantyCard.WarrantyCardID })); }