示例#1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var userId = User.Claims.Single(c => c.Type == UserHelper.NameIdentifierString).Value;

            Car.ClientUserId = userId;

            await FileHelpers.UploadAsync("C:/Users/csmar/source/repos/CarService/CarService.Web/wwwroot/pictures/", FileUpload);

            Car.Picture         = FileUpload.FileName;
            Car.PictureSize     = FileUpload.Length;
            Car.PictureUploadDT = DateTime.UtcNow;

            _context.Cars.Add(Car);

            _context.Attach(Car).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CarExists(Car.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./BrowseCar"));
        }
示例#2
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var user = await _userManager.GetUserAsync(User);

            Car.ClientUserId = user.Id;

            await FileHelpers.UploadAsync("C:/Users/csmar/source/repos/CarService/CarService.Web/wwwroot/pictures/", FileUpload);

            Car.Picture         = FileUpload.FileName;
            Car.PictureSize     = FileUpload.Length;
            Car.PictureUploadDT = DateTime.UtcNow;

            _context.Cars.Add(Car);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./BrowseCar"));
        }
        public static async Task ModifyWorkAsync(Work work)
        {
            _context.Attach(work).State = EntityState.Modified;

            await _context.SaveChangesAsync();
        }
示例#4
0
 public void AddCheck(Check check)
 {
     _context.Check.Add(check);
     _context.SaveChangesAsync();
 }
        // public List<CheckMaterialItem> GetAllCheckItem()
        // {
        //     return (from cmi in _context.CheckMaterialItem
        //     join em in _context.ExpendableMaterial on cmi.ExpendableMaterialId equals em.Id
        //     select new CheckMaterialItem()
        //     {
        //         Id = cmi.Id,
        //         MaterialName = em.Name,
        //         MaterialPrice = em.Price,
        //         ExpendableMaterialId = cmi.Id,
        //         CheckId = cmi.CheckId,
        //     }).ToList();
        // }

        public void AddCheckMaterial(CheckMaterialItem checkMaterialItem)
        {
            _context.CheckMaterialItem.Add(checkMaterialItem);
            _context.SaveChangesAsync();
        }
示例#6
0
 public void AddClient(Client client)
 {
     _context.Client.Add(client);
     _context.SaveChangesAsync();
 }
        private void ClearAndAddData()
        {
            _dbctx.VehicleMakes.RemoveRange(_dbctx.VehicleMakes);
            _dbctx.VehicleModels.RemoveRange(_dbctx.VehicleModels);
            _dbctx.SaveChangesAsync();

            List <VehicleMake> data = new List <VehicleMake>
            {
                new VehicleMake {
                    VehicleModels = new List <VehicleModel> {
                        new VehicleModel {
                            Name      = "Outlander",
                            EndYear   = 2018,
                            StartYear = 2011
                        },
                        new VehicleModel {
                            Name      = "Lancer",
                            EndYear   = 2018,
                            StartYear = 2008
                        },
                        new VehicleModel {
                            Name      = "Space Star",
                            EndYear   = 2011,
                            StartYear = 1995
                        },
                    },
                    Name = "Mitsubishi",
                },
                new VehicleMake {
                    VehicleModels = new List <VehicleModel> {
                        new VehicleModel {
                            Name      = "X5",
                            EndYear   = 2018,
                            StartYear = 2010
                        },
                        new VehicleModel {
                            Name      = "X3",
                            EndYear   = 2018,
                            StartYear = 2015
                        },
                        new VehicleModel {
                            Name      = "6",
                            EndYear   = 2009,
                            StartYear = 1995
                        },
                    },
                    Name = "BMW",
                },
                new VehicleMake {
                    VehicleModels = new List <VehicleModel> {
                        new VehicleModel {
                            Name      = "Cayenne",
                            EndYear   = 2018,
                            StartYear = 2005
                        },
                        new VehicleModel {
                            Name      = "Panamera",
                            EndYear   = 2018,
                            StartYear = 2010
                        },
                        new VehicleModel {
                            Name      = "Cayman",
                            EndYear   = 2015,
                            StartYear = 1990
                        },
                    },
                    Name = "Porsche",
                },
            };

            foreach (var entry in data)
            {
                _dbctx.Add(entry);
            }
            _dbctx.SaveChangesAsync();
        }
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                User   user;
                string role;

                if (Input.UserType == UserType.COMPANY)
                {
                    Opening opening = new Opening
                    {
                        Monday    = new OpeningDay(Input.StartMonday, Input.EndMonday),
                        Tuesday   = new OpeningDay(Input.StartTuesday, Input.EndTuesday),
                        Wednesday = new OpeningDay(Input.StartWednesday, Input.EndWednesday),
                        Thursday  = new OpeningDay(Input.StartThursday, Input.EndThursday),
                        Friday    = new OpeningDay(Input.StartFriday, Input.EndFriday),
                        Saturday  = new OpeningDay(Input.StartSaturday, Input.EndSaturday),
                        Sunday    = new OpeningDay(Input.StartSunday, Input.EndSunday),

                        SaturdayOpen = Input.SaturdayOpen,
                        SundayOpen   = Input.SundayOpen
                    };

                    await _context.Openings.AddAsync(opening);

                    await _context.SaveChangesAsync();

                    int openingId = opening.Id;

                    user = new CompanyUser
                    {
                        UserName    = Input.Email,
                        Email       = Input.Email,
                        Name        = Input.Name,
                        PhoneNumber = Input.PhoneNumber,
                        Address     = new Address
                        {
                            Zip         = int.Parse(Input.Zip),
                            City        = Input.City,
                            Street      = Input.Street,
                            HouseNumber = int.Parse(Input.HouseNumber)
                        },
                        PrivateKey    = Input.PrivateKey,
                        SecurityStamp = Guid.NewGuid().ToString(),
                        Opening       = opening
                    };
                    role = Roles.Companies;
                }
                else if (Input.UserType == UserType.WORKER)
                {
                    var company = await _context.CompanyUsers
                                  .Where(c => c.PrivateKey == Input.PrivateKey).ToListAsync();

                    CompanyUser attachedCompany = company.FirstOrDefault();

                    user = new WorkerUser
                    {
                        UserName      = Input.Email,
                        Email         = Input.Email,
                        Name          = Input.Name,
                        PhoneNumber   = Input.PhoneNumber,
                        CompanyUserId = attachedCompany.Id,
                        Address       = new Address {
                        },
                        SecurityStamp = Guid.NewGuid().ToString()
                    };

                    role = Roles.Workers;
                }
                else if (Input.UserType == UserType.CLIENT)
                {
                    var company = await _context.CompanyUsers
                                  .Where(c => c.PrivateKey == Input.PrivateKey).ToListAsync();

                    user = new ClientUser
                    {
                        UserName    = Input.Email,
                        Email       = Input.Email,
                        Name        = Input.Name,
                        PhoneNumber = Input.PhoneNumber,
                        Address     = new Address
                        {
                            Zip         = int.Parse(Input.Zip),
                            City        = Input.City,
                            Street      = Input.Street,
                            HouseNumber = int.Parse(Input.HouseNumber)
                        },
                        SecurityStamp = Guid.NewGuid().ToString()
                    };

                    role = Roles.Clients;
                }
                else //Never happen
                {
                    user = new CompanyUser();
                    role = "";
                }

                var userResult = await _userManager.CreateAsync(user, Input.Password);

                var roleResult = await _userManager.AddToRoleAsync(user, role);

                if (userResult.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { userId = user.Id, code = code },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in userResult.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
示例#9
0
        // public List<CheckServiceItem> GetAllCheckItem()
        // {
        //     return (from csi in _context.CheckServiceItem
        //     join se in _context.Service on csi.ServiceId equals se.Id
        //     select new CheckServiceItem()
        //     {
        //         Id = csi.Id,
        //         ServiceName = se.Name,
        //         ServicePrice = se.Price,
        //         CheckId = csi.CheckId,
        //         ServiceId = csi.ServiceId,
        //     }).ToList();
        // }

        public void AddCheckService(CheckServiceItem checkServiceItem)
        {
            _context.CheckServiceItem.Add(checkServiceItem);
            _context.SaveChangesAsync();
        }
示例#10
0
 public void AddMaterial(ExpendableMaterial expendableMaterial)
 {
     _context.ExpendableMaterial.Add(expendableMaterial);
     _context.SaveChangesAsync();
 }
示例#11
0
 public async Task <bool> SaveAsync()
 {
     return(await _context.SaveChangesAsync() >= 0);
 }