public IActionResult Index(Worker worker) { var sessionSortState = HttpContext.Session.GetString("SortState"); SortState sortOrder = new SortState(); if (sessionSortState != null) { sortOrder = (SortState)Enum.Parse(typeof(SortState), sessionSortState); } int?page = HttpContext.Session.GetInt32("Page"); if (page == null) { page = 0; HttpContext.Session.SetInt32("Page", 0); } IQueryable <Worker> workers = Sort(db.Workers, sortOrder, worker.FioWorker, worker.Salary, (int)page); HttpContext.Session.SetObject("Worker", worker); WorkersViewModel workersView = new WorkersViewModel { WorkerViewModel = worker, PageViewModel = workers, PageNumber = (int)page }; return(View(workersView)); }
public async Task <IActionResult> Create(WorkersViewModel wvm) { Workers worker = new Workers(); if (wvm.ClientID != null) { worker = new Workers { FullName = wvm.FullName, ImageName = wvm.Avatar.FileName, ClientID = wvm.ClientID }; } else { var currentUser = await _userManager.FindByNameAsync(User.Identity.Name); worker = new Workers { FullName = wvm.FullName, ImageName = wvm.Avatar.FileName, ClientID = currentUser.ClientID }; } if (wvm.Avatar != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(wvm.Avatar.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)wvm.Avatar.Length); } worker.Avatar = imageData; } db.Workers.Add(worker); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public ActionResult Index() { WorkersViewModel Model = new WorkersViewModel(); Model.listaEvidencijaKljuceva = ctx.EvidencijaKljuceva .Select(x => new WorkersViewModel.EvidencijaKljucevaInfo() { Id = x.Id, NazivUcionice = x.Kljuc.Ucionica.Naziv, NastavnoOsoblje = x.NastavnoOsoblje.Ime + " " + x.NastavnoOsoblje.Prezime, BarKodKljuca = x.Kljuc.Barcode, DatumPreuzimanja = x.DatumPreuzimanja, DatumVracanja = x.DatumVracanja }).Where(y => y.DatumVracanja == null).ToList(); //.Where(y => y.DatumVracanja == null && y.DatumPreuzimanja.Day == DateTime.Today.Day).ToList(); Model.listaEvidencijaKnjigaZaIznajmljivanje = ctx.EvidencijaKnjigaZaIznajmljivanje .Select(x => new WorkersViewModel.EvidencijaKnjigaZaIznajmljivanjeInfo() { Id = x.Id, NazivKnjige = x.Knjiga.Naziv, Autor = x.Knjiga.Autor, DatumIzdavanja = x.DatumIzdavanja, DatumVracanja = x.DatumVracanja, Student = x.Student.Ime + " " + x.Student.Prezime, Vracena = x.Vracena }).Where(y => y.Vracena == false).Take(8).ToList(); Model.listaEvidencijaKnjigaZaProdaju = ctx.EvidencijaKnjigaZaProdaju .Select(x => new WorkersViewModel.EvidencijaKnjigaZaProdajuInfo() { DatumEvidencije = x.DatumEvidencije, NazivKnjge = x.Knjiga.Naziv, Autor = x.Knjiga.Autor, Cijena = x.Knjiga.Cijena }).OrderByDescending(x => x.DatumEvidencije).Take(8).ToList(); Model.listaEvidencijaMaterijala = ctx.EvidencijaNarudzbeIspitnogMaterijala .Select(x => new WorkersViewModel.EvidencijaNarudzbeIspitnogMaterijalaInfo() { NazivMaterijala = x.IspitniMaterijal.Naziv, Kolicina = x.Kolicina, DatumNarudzbe = x.DatumNarudzbe }).OrderByDescending(x => x.DatumNarudzbe).Take(8).ToList(); Model.listaRezervisanihKnjiga = ctx.Rezervacija .Select(x => new WorkersViewModel.RezervacijeKnjigaInfo() { Id = x.Id, knjigaId = x.KnjigaId, studentId = x.StudentId, BrojIndexa = x.Student.BrojIndeksa, Naziv = x.Knjiga.Naziv, DatumRezervacije = x.DatumRezervacije, Status = x.RezervacijaPotvrdjena }).Where(x => x.Status == false).OrderByDescending(x => x.DatumRezervacije).ToList(); return(View(Model)); }
private void FullDGVWokers() { int divisionId = Convert.ToInt32(tvDivisions.SelectedNode.Tag); dgvWorkers.AutoGenerateColumns = true; var source = new WorkersViewModel(divisionId).Workers; dgvWorkers.DataSource = source.ToArray(); }
public MainViewModel() { client = new GrpcClient("https://localhost:5001"); prisonersVM = new PrisonersViewModel(this); locationsVM = new LocationsViewModel(this); jobsVM = new JobsViewModel(this); workersVM = new WorkersViewModel(this); LoadViewModels(); }
public IActionResult Create() { WorkersViewModel workerModel = new WorkersViewModel { Stores = _dbContext.Stores.ToList(), Departments = _dbContext.Departments.ToList(), Employees = _dbContext.Employees.Where(x => x.Worker == null).ToList(), }; return(View(workerModel)); }
public async Task <IActionResult> Index(string fio, int page = 1, WorkerSortState sortOrder = WorkerSortState.FIOAsc) { int pageSize = 5; //фильтрация IQueryable <Worker> workers = db.Workers; if (!string.IsNullOrEmpty(fio)) { workers = workers.Where(p => p.WorkerFIO.Contains(fio)); } // сортировка switch (sortOrder) { case WorkerSortState.FIODesc: workers = workers.OrderByDescending(s => s.WorkerFIO); break; case WorkerSortState.PostAsc: workers = workers.OrderBy(s => s.WorkerPost); break; case WorkerSortState.PostDesc: workers = workers.OrderByDescending(s => s.WorkerPost); break; default: workers = workers.OrderBy(s => s.WorkerFIO); break; } // пагинация var count = await workers.CountAsync(); var items = await workers.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); // формируем модель представления WorkersViewModel viewModel = new WorkersViewModel { PageViewModel = new PageViewModel(count, page, pageSize), WorkerSortViewModel = new WorkerSortViewModel(sortOrder), WorkerFilterViewModel = new WorkerFilterViewModel(fio), Workers = items }; return(View(viewModel)); }
public IActionResult Index(SortState sortOrder = SortState.No, int index = 0) { Worker sessionWorker = HttpContext.Session.GetObject <Worker>("Worker"); string sessionSortState = HttpContext.Session.GetString("SortState"); int? page = HttpContext.Session.GetInt32("Page"); if (page == null) { page = 0; HttpContext.Session.SetInt32("Page", 0); } else { if (!(page < 1 && index < 0)) { page += index; } HttpContext.Session.SetInt32("Page", (int)page); } if (sessionWorker != null) { _worker = sessionWorker; } if (sessionSortState != null) { if (sortOrder == SortState.No) { sortOrder = (SortState)Enum.Parse(typeof(SortState), sessionSortState); } } ViewData["SurnameSort"] = sortOrder == SortState.FioWorkerDesc ? SortState.FioWorkerAsc : SortState.FioWorkerDesc; ViewData["SalarySort"] = sortOrder == SortState.SalaryDesc ? SortState.SalaryAsc : SortState.SalaryDesc; HttpContext.Session.SetString("SortState", sortOrder.ToString()); IQueryable <Worker> workers = Sort(db.Workers, sortOrder, _worker.FioWorker, _worker.Salary, (int)page); WorkersViewModel workersView = new WorkersViewModel { WorkerViewModel = _worker, PageViewModel = workers, PageNumber = (int)page }; return(View(workersView)); }
public async Task <IActionResult> Edit(WorkersViewModel wvm) { var currentUser = await _userManager.FindByNameAsync(User.Identity.Name); Workers worker = await db.Workers.FirstOrDefaultAsync(p => p.Id == wvm.Id); if (currentUser.ClientID != "admin") { if (currentUser.ClientID == worker.ClientID) { worker.FullName = wvm.FullName; if (wvm.Avatar != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(wvm.Avatar.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)wvm.Avatar.Length); } worker.Avatar = imageData; worker.ImageName = wvm.Avatar.FileName; } db.Workers.Update(worker); await db.SaveChangesAsync(); return(Redirect(TempData["returnurl"].ToString())); } } else { worker.FullName = wvm.FullName; if (wvm.Avatar != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(wvm.Avatar.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)wvm.Avatar.Length); } worker.Avatar = imageData; worker.ImageName = wvm.Avatar.FileName; } db.Workers.Update(worker); await db.SaveChangesAsync(); return(Redirect(TempData["returnurl"].ToString())); } return(NotFound()); }
public async Task <IActionResult> Edit(string id) { if (id == null) { return(NotFound()); } var worker = await _userManager.FindByIdAsync(id); WorkersViewModel workersView = new WorkersViewModel { Departments = _dbContext.Departments.ToList(), Employees = _dbContext.Employees.ToList(), Name = _dbContext.Employees.Where(x => x.ID == worker.EmployeeId).Select(x => x.Name).FirstOrDefault(), Surname = _dbContext.Employees.Where(x => x.ID == worker.EmployeeId).Select(x => x.Surname).FirstOrDefault(), Position = _dbContext.Positions.Where(x => x.ID == worker.PositionId).Select(x => x.Name).FirstOrDefault(), Email = worker.Email, Department = _dbContext.Positions.Include(m => m.Department).Where(x => x.ID == worker.PositionId).Select(m => m.Department.Name).FirstOrDefault() }; return(View(workersView)); }
public async Task <IActionResult> Create(WorkersViewModel create) { if (!ModelState.IsValid) { create.Stores = _dbContext.Stores.ToList(); create.Employees = _dbContext.Employees.Where(x => x.Worker == null).ToList(); create.Departments = _dbContext.Departments.ToList(); return(View(create)); } Worker worker = new Worker(); if (create.SelectedStore == 0) { worker.StoreId = null; } worker.StoreId = create.SelectedStore; create.Password = $"{Path.GetRandomFileName().ToUpper()}_{Path.GetRandomFileName().ToLower()}_{DateTime.Now.ToString("dd_MM_yyyy_hh_mm")}"; worker.Email = create.Email; worker.EmployeeId = create.SelectedEmployee; worker.PositionId = create.SelectedPosition; worker.UserName = create.Email; worker.Account = _dbContext.Employees.Where(x => x.ID == create.SelectedEmployee).Select(x => x.Name).FirstOrDefault() + " " + _dbContext.Employees.Where(x => x.ID == create.SelectedEmployee).Select(x => x.Surname).FirstOrDefault(); worker.PassText = create.Password; worker.BeginDate = create.BeginDate; worker.Working = true; IdentityResult result = await _userManager.CreateAsync(worker, create.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } create.Employees = _dbContext.Employees.ToList(); create.Departments = _dbContext.Departments.ToList(); return(View(create)); } await _userManager.AddToRoleAsync(worker, Roles.Worker.ToString()); SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "Metin1998*#"); MailMessage mailMessage = new MailMessage(); mailMessage.To.Add(worker.Email); mailMessage.From = new MailAddress("*****@*****.**"); mailMessage.Subject = "Your password..."; mailMessage.Body = worker.PassText; mailMessage.BodyEncoding = UTF8Encoding.UTF8; client.Send(mailMessage); mailMessage.IsBodyHtml = true; return(RedirectToAction(nameof(WorkerList))); }
public async Task <IActionResult> Edit(string id, WorkersViewModel workersView) { var workers = await _userManager.FindByIdAsync(id); string companyWorkPlaceId = $"{Path.GetRandomFileName()}_{DateTime.Now.ToString("dd_MM_yyyy_hh_mm")}"; string companyWorkPlaceBonusId = $"{Path.GetRandomFileName().ToLower()}_{DateTime.Now.ToString("dd_MM_yyyy_hh_mm")}"; string companyWorkPlaceAbsensId = $"{Path.GetRandomFileName().ToUpper()}_{DateTime.Now.ToString("dd_MM_yyyy_hh_mm")}"; workersView.Departments = _dbContext.Departments.ToList(); workersView.Employees = _dbContext.Employees.ToList(); workersView.Name = _dbContext.Employees.Where(x => x.ID == workers.EmployeeId).Select(x => x.Name).FirstOrDefault(); workersView.Surname = _dbContext.Employees.Where(x => x.ID == workers.EmployeeId).Select(x => x.Surname).FirstOrDefault(); workersView.Position = _dbContext.Positions.Where(x => x.ID == workers.PositionId).Select(x => x.Name).FirstOrDefault(); workersView.Email = workers.Email; workersView.Department = _dbContext.Positions.Include(m => m.Department).Where(x => x.ID == workers.PositionId).Select(m => m.Department.Name).FirstOrDefault(); workersView.Password = workers.PassText; if (!ModelState.IsValid) { return(View(workersView)); } if (workersView.SelectedPosition == workers.PositionId) { return(View(workersView)); } CompanyWorkPlace companyWorkPlace = new CompanyWorkPlace { ID = companyWorkPlaceId, EmployeeId = workers.EmployeeId, ChangedDate = DateTime.Now, PositionId = workersView.SelectedPosition }; _dbContext.CompanyWorkPlaces.Add(companyWorkPlace); CompanyWorkPlaceBonus companyWorkPlaceBonus = new CompanyWorkPlaceBonus { ID = companyWorkPlaceBonusId, CompanyWorkPlaceId = companyWorkPlaceId, BonusSalary = _dbContext.WorkerBonus.Where(x => x.WorkerId == workers.Id).Select(x => x.BonusSalary).Sum() }; _dbContext.CompanyWorkPlaceBonus.Add(companyWorkPlaceBonus); CompanyWorkPlaceAbsens companyWorkPlaceAbsens = new CompanyWorkPlaceAbsens { ID = companyWorkPlaceAbsensId, CompanyWorkPlaceId = companyWorkPlaceId, ExcusableAbsens = _dbContext.WorkerAbsens.Where(x => x.WorkerId == workers.Id && x.AbsensId == 1).Count(), UnExcusableAbsens = _dbContext.WorkerAbsens.Where(x => x.WorkerId == workers.Id && x.AbsensId == 2).Count() }; _dbContext.CompanyWorkPlaceAbsens.Add(companyWorkPlaceAbsens); Worker worker = new Worker { BeginDate = DateTime.Now, Account = workers.Account, Email = workers.Email, EmployeeId = workers.EmployeeId, PassText = workers.PassText, UserName = workers.UserName, PositionId = workersView.SelectedPosition, Working = true }; _dbContext.WorkerBonus.RemoveRange(_dbContext.WorkerBonus.Where(x => x.WorkerId == workers.Id).ToList()); _dbContext.WorkerAbsens.RemoveRange(_dbContext.WorkerAbsens.Where(x => x.WorkerId == workers.Id).ToList()); await _userManager.DeleteAsync(workers); IdentityResult result = await _userManager.CreateAsync(worker, workers.PassText); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } await _userManager.AddToRoleAsync(worker, Roles.Worker.ToString()); await _dbContext.SaveChangesAsync(); return(RedirectToAction(nameof(WorkerList))); }
public WorkersViewModel GenerateWorkersData(WorkersContext workersContext) { //var daysData = new Days //{ // Day = DateTime.Now //}; //workersContext.Days.Add(daysData); //daysData = new Days //{ // Day = DateTime.Now.AddDays(1) //}; //workersContext.Days.Add(daysData); //workersContext.SaveChanges(); //var testCheck1 = workersContext.DaysOfWork.ToList(); //var workersData = new Workers //{ // Name = "Antek", // Surname = "Walentynowicz", // PhoneNumber = "234432234", // Position = "Medic", // Shift = "2", // Unity = "1", //}; //workersContext.Workers.Add(workersData); //workersData = new Workers //{ // Name = "Bartosz", // Surname = "Walenrod", // PhoneNumber = "345654789", // Position = "Enginerr", // Shift = "1", // Unity = "2", //}; //workersContext.Workers.Add(workersData); var dateTime = DateTime.Now; var allWorkersList = workersContext.Workers.Select(t => t).ToList(); var daysOfWorkIds = workersContext.Days //.Where(y => y.Day.Day == dateTime.Day || y.Day.Day == dateTime.AddDays(1).Day) .ToList(); var dayOfWorkData = workersContext.DaysOfWork.Select(t => t).ToList(); var workersAssigmentData = dayOfWorkData.Join(daysOfWorkIds, dw => dw.DayId, d => d.Id, (dw, d) => new { d.Day, dw.Unity, dw.Shift, dw.WorkerId }) .Join(allWorkersList, dw => dw.WorkerId, wc => wc.Id, (dw, wc) => new { wc.Name, wc.Surname, wc.Position, dw.Day, dw.Shift, dw.Unity }) .Select(x => new WorkersAssigmentData { Name = x.Name, Surname = x.Surname, Position = x.Position, Shift = x.Shift, Unity = x.Unity, Day = x.Day }) .ToList(); var data = new WorkersViewModel { AllWorkersList = allWorkersList, WorkersAssigmentData = workersAssigmentData }; return(data); }
// GET: Materials public IActionResult Index(string surname, string firstname, string adress, string birthday, int page = 1, WorkersSortState sortOrder = WorkersSortState.SurnameAsc) { int pageSize = 10; IQueryable <Workers> source = _context.Workers; if (surname != null) { source = source.Where(x => x.Surname.Contains(surname)); } if (firstname != null) { source = source.Where(x => x.Firstname.Contains(firstname)); } if (adress != null) { source = source.Where(x => x.Adress.Contains(adress)); } if (birthday != null) { source = source.Where(x => x.Birthday == DateTime.Parse(birthday)); } switch (sortOrder) { case WorkersSortState.SurnameAsc: source = source.OrderBy(x => x.Surname); break; case WorkersSortState.SurnameDesc: source = source.OrderByDescending(x => x.Surname); break; case WorkersSortState.FirstnameAsc: source = source.OrderBy(x => x.Firstname); break; case WorkersSortState.FirstnsmeDesc: source = source.OrderByDescending(x => x.Firstname); break; case WorkersSortState.AdresslAsc: source = source.OrderBy(x => x.Adress); break; case WorkersSortState.AdresslDesc: source = source.OrderByDescending(x => x.Adress); break; case WorkersSortState.BirthdayAsc: source = source.OrderBy(x => x.Birthday); break; case WorkersSortState.BirthdayDesc: source = source.OrderByDescending(x => x.Birthday); break; default: source = source.OrderBy(x => x.Surname); break; } var count = source.Count(); var items = source.Skip((page - 1) * pageSize).Take(pageSize); PageViewModel pageView = new PageViewModel(count, page, pageSize); WorkersViewModel ivm = new WorkersViewModel { PageViewModel = pageView, SortViewModel = new SortWorkersViewModel(sortOrder), FilterViewModel = new FilterWorkersViewModel(surname, firstname, adress, birthday), Workers = items }; return(View(ivm)); }
public WorkersDTO Map(WorkersViewModel workers) => mMapper.Map <WorkersDTO>(workers);
public WorkersPage() { InitializeComponent(); DataContext = new WorkersViewModel(); }