void DelEmployeeView() { if (SelectedEmplViews != null) { IEnumerable <EmployeeView> emplViewsToDel = SelectedEmplViews.Cast <EmployeeView>(); while (emplViewsToDel.Where(i => i.IsAdded).Count() > 0) { EmployeeViews.Remove(emplViewsToDel.First(i => i.IsAdded)); } foreach (var eV in emplViewsToDel) { if (eV.IsAdded == false) { eV.IsDeleted = true; } } if (EmployeeViews.FirstOrDefault(eV => eV.IsAdded || eV.IsDeleted) != null) { IsEmployeeViewsChanged = true; } else { IsEmployeeViewsChanged = false; } } }
public async Task <IActionResult> Create(EmployeeViews employeeViews) { if (ModelState.IsValid) { string newuid; while (true) { newuid = RandomString(11); var find = await _context.Citizens.FirstOrDefaultAsync(m => m.Id == newuid); if (find == null) { break; } } newuid = "E" + newuid; Employee employee = new Employee(); employee.Id = newuid; employee.Name = employeeViews.Name; employee.Email = employeeViews.Email; employee.Password = employeeViews.Password; employee.Area = employeeViews.Area; employee.ZipCode = employeeViews.ZipCode; employee.post = employeeViews.post; _context.Add(employee); await _context.SaveChangesAsync(); ViewBag.uid = newuid; HttpContext.Session.SetString("newuid", newuid); return(this.RedirectToAction("Index", "Home")); } return(View(employeeViews)); }
void DataLoading() { List <Employee> employees = new List <Employee>(); try { DIConfig.ComposeContainer.ComposeParts(this); EmployeeLogic.Login = Credentials.Login; EmployeeLogic.Password = Credentials.Password; employees = EmployeeLogic.GetEmployees(); } catch (Exception ex) { MessageBoxVM = new MessageBoxModel() { Message = ErrorMessage.MakingMessageForMessageBox(ex), Caption = errCaption }; Log.WriteLogAsync(ex); } Mapper.Map <List <EmployeeView> >(employees) .ForEach(e => { e.PropertyChanged += (s, eArgs) => OnEmployeeViewChnaged(e, eArgs.PropertyName); e.EmplProjViews.CollectionChanged += (s, eArgs) => OnEmplProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); e.LeadProjViews.CollectionChanged += (s, eArgs) => OnLeadProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); EmployeeViews.Add(e); }); CurrentEmplView = EmployeeViews.FirstOrDefault(); }
void CancelChanges() { if (EmployeeViews.Where(e => e.IsAdded).Count() > 0 || EmployeeViews.Where(e => e.IsChanged).Count() > 0 || EmployeeViews.Where(e => e.IsDeleted).Count() > 0) { MessageBoxVM = new MessageBoxModel() { Message = "Все внесённые изменения будут удалены. Продолжить?", Caption = "сотрудники", Buttons = MessageBoxButton.YesNo }; if (MessageBoxVM.Result == MessageBoxResult.Yes) { int numOfAdded = 0; foreach (var eV in EmployeeViews) { if (eV.IsAdded) { numOfAdded++; } if (eV.IsChanged) { eV.Name = eV.Backup.Name; if (eV.IsChanged) { eV.Surname = eV.Backup.Surname; } if (eV.IsChanged) { eV.MiddleName = eV.Backup.MiddleName; } if (eV.IsChanged) { eV.EMail = eV.Backup.EMail; } } if (eV.IsDeleted) { eV.IsDeleted = false; } } while (numOfAdded > 0) { EmployeeViews.Remove(EmployeeViews.First(eV => eV.IsAdded)); numOfAdded--; } if (EmployeeViews.FirstOrDefault(eV => eV.IsAdded || eV.IsDeleted) != null) { IsEmployeeViewsChanged = true; } else { IsEmployeeViewsChanged = false; } } } }
void AddEmployeeView() { EmployeeViews.Add(new EmployeeView()); EmployeeViews.Last().IsAdded = true; if (EmployeeViews.FirstOrDefault(eV => eV.IsAdded) != null) { IsEmployeeViewsChanged = true; } }
void FilterViewFromDB() { if (LoadFromDb == true) { List <Employee> employees = new List <Employee>(); try { if (EmployeeViews.Where(eV => eV.IsAdded).Count() > 0 || EmployeeViews.Where(eV => eV.IsChanged).Count() > 0 || EmployeeViews.Where(eV => eV.IsDeleted).Count() > 0) { MessageBoxVM = new MessageBoxModel() { Message = "Все внесённые изменения будут удалены. Продолжить?", Caption = "сотрудники", Buttons = MessageBoxButton.YesNo }; if (MessageBoxVM.Result == MessageBoxResult.Yes) { while (EmployeeViews.Count > 0) { EmployeeViews.Remove(EmployeeViews.First()); } employees = LoadFilteredDataFromDb(FilterControlName); } } else { while (EmployeeViews.Count > 0) { EmployeeViews.Remove(EmployeeViews.First()); } employees = LoadFilteredDataFromDb(FilterControlName); } } catch (Exception ex) { MessageBoxVM = new MessageBoxModel() { Message = ErrorMessage.MakingMessageForMessageBox(ex), Caption = errCaption }; Log.WriteLogAsync(ex); } Mapper.Map <List <EmployeeView> >(employees) .ForEach(e => { e.PropertyChanged += (s, eArgs) => OnEmployeeViewChnaged(e, eArgs.PropertyName); e.EmplProjViews.CollectionChanged += (s, eArgs) => OnEmplProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); e.LeadProjViews.CollectionChanged += (s, eArgs) => OnLeadProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); EmployeeViews.Add(e); }); } }
public IActionResult EmployeeView(int id) { var employee = _employeesData.GetByID(id); if (id == 0 || employee == null) { employee = new EmployeeViews(0, null, null, 0); } return(View(employee)); }
void DataLoading() { EmployeeLogic.Login = Credentials.Login; EmployeeLogic.Password = Credentials.Password; IProgress <bool> queryExecutionProgress = new Progress <bool>(inProgress => LoadFromDbInProgress = inProgress); IProgress <EmployeeView> GetEmployeeViewsProgress = new Progress <EmployeeView>(emplView => EmployeeViews.Add(emplView)); IProgress <MessageBoxModel> messageReport = new Progress <MessageBoxModel>(messageBoxVM => MessageBoxVM = messageBoxVM); Task.Run(() => { List <Employee> employees = new List <Employee>(); try { queryExecutionProgress.Report(true); employees = EmployeeLogic.GetEmployees(); } catch (Exception ex) { messageReport.Report(new MessageBoxModel() { Message = ErrorMessage.MakingMessageForMessageBox(ex), Caption = errCaption }); Log.WriteLogAsync(ex); } Mapper.Map <List <EmployeeView> >(employees) .ForEach(e => { e.PropertyChanged += (s, eArgs) => OnEmployeeViewChnaged(e, eArgs.PropertyName); e.EmplProjViews.CollectionChanged += (s, eArgs) => OnEmplProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); e.LeadProjViews.CollectionChanged += (s, eArgs) => OnLeadProjViewsCountChanged(e, eArgs.NewItems, eArgs.OldItems); GetEmployeeViewsProgress.Report(e); }); queryExecutionProgress.Report(false); }); CurrentEmplView = EmployeeViews.FirstOrDefault(); }
public IActionResult EmployeeView(EmployeeViews employee) { if (ModelState.IsValid) { if (employee.Id == 0) { employee.Id = _employeesData.GetAll().Max(e => e.Id) + 1; _employeesData.AddNew(employee); } else { var empl = _employeesData.GetByID(employee.Id); empl.FirstName = employee.FirstName; empl.LastName = employee.LastName; empl.Age = employee.Age; } return(RedirectToAction("Index")); } else { return(View(employee)); } }
void SaveChanges() { MessageBoxVM = new MessageBoxModel() { Message = "Выполнить сохранение всех внесённых изменений?", Caption = "сотрудники", Buttons = MessageBoxButton.YesNo }; if (MessageBoxVM.Result == MessageBoxResult.Yes) { List <Employee> emplsToAdd = Mapper.Map <IEnumerable <EmployeeView>, List <Employee> >(EmployeeViews.Where(eV => eV.IsAdded)); List <Employee> emplsToUpdate = Mapper.Map <IEnumerable <EmployeeView>, List <Employee> >(EmployeeViews.Where(eV => eV.IsChanged)); List <Employee> emplsToDelete = Mapper.Map <IEnumerable <EmployeeView>, List <Employee> >(EmployeeViews.Where(eV => eV.IsDeleted)); bool IsChangesSaved = false; try { IsChangesSaved = EmployeeLogic.SetEmployees(emplsToAdd, emplsToUpdate, emplsToDelete); } catch (Exception ex) { MessageBoxVM = new MessageBoxModel() { Message = ErrorMessage.MakingMessageForMessageBox(ex), Caption = errCaption }; Log.WriteLogAsync(ex); } if (IsChangesSaved) { if (emplsToDelete.Count > 0) { while (EmployeeViews.Where(eV => eV.IsDeleted).Count() > 0) { EmployeeView emplView = EmployeeViews.First(eV => eV.IsDeleted); foreach (var pV in ViewModelsContainer.ProjectsViewModel.ProjectViews) { pV.ProjEmplViews.Remove(Mapper.Map <ProjEmplView>(emplView)); if (pV.ProjLeadView != null && pV.ProjLeadView.Id == emplView.Id) { pV.ProjLeadView = null; } } EmployeeViews.Remove(emplView); } } if (emplsToAdd.Count > 0) { IEnumerator <Employee> emplEnumerator = EmployeeLogic.GetEmplIDs().GetEnumerator(); foreach (var eV in EmployeeViews) { emplEnumerator.MoveNext(); eV.Id = emplEnumerator.Current.Id; if (eV.IsAdded == true) { eV.LeadProjViews = new ObservableCollection <EmplProjView>(); eV.EmplProjViews = new ObservableCollection <EmplProjView>(); } eV.IsAdded = false; } } if (emplsToUpdate.Count > 0) { foreach (var eV in EmployeeViews) { eV.IsChanged = false; eV.BackupClear(); } } IsEmployeeViewsChanged = false; } } }
public void AddNew(EmployeeViews employee) { employee.Id = _employees.Max(e => e.Id) + 1; _employees.Add(employee); }
public EmployeeViews GetByID(int id) { EmployeeViews employee = _employees.FirstOrDefault(e => e.Id == id); return(employee); }