public async Task <IHttpActionResult> PostEmployees(EmployeesVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { EmployeesRepository }); var bo = (BOEmployees)vm.BOEmployees(EmployeesRepository); uow.Create(bo); string err; if (!uow.Commit(out err)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(err) }; throw new HttpResponseException(resp); } vm = new EmployeesVm(bo); return(true); }); await result; return(CreatedAtRoute("DefaultApi", new { id = vm.EmployeeID }, vm)); }
public ActionResult Create() { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } List <SelectListItem> teamList = new List <SelectListItem>(); try { teamList = Utils.Helper.GetTeamList(); } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } EmployeesVm model = new EmployeesVm() { TeamList = teamList, ErrorMsg = errorMsg }; return(View("Create", model)); }
// GET: Employees public ActionResult Index() { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } List <EmployeesModel> employees = new List <EmployeesModel>(); List <TeamsModel> teamNames = new List <TeamsModel>(); try { employees = _employeesService.GetAllEmployees(); teamNames = _teamService.GetTeams(); } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } EmployeesVm model = new EmployeesVm() { Employees = employees, TeamNames = teamNames, ErrorMsg = errorMsg }; return(View("Index", model)); }
public ActionResult Create(EmployeesVm model) { if (model is null) { return(RedirectToAction("Index")); } if (String.IsNullOrWhiteSpace(model.FirstName) || String.IsNullOrWhiteSpace(model.LastName) || String.IsNullOrWhiteSpace(model.Email)) { TempData["error"] = $"It is necessary to fill everything. Middlename if possible."; return(RedirectToAction("Create")); } EmailAddressAttribute emailAdressAttr = new EmailAddressAttribute(); if (!emailAdressAttr.IsValid(model.Email)) { TempData["error"] = $"Email typed wrong"; return(RedirectToAction("Create")); } EmployeesModel employee = new EmployeesModel() { Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, MiddleName = model.MiddleName, Team_Id = model.Team_Id, }; try { if (!_employeesService.Create(employee)) { TempData["error"] = $"Problems with create employee (Service error \"Create\")."; return(RedirectToAction("Create")); } } catch (Exception e) { TempData["error"] = $"Problems with saving information to database (services). {e.Message}"; return(RedirectToAction("Create")); } return(RedirectToAction("Index")); }
public async Task <IHttpActionResult> PutEmployees(Int32 id, EmployeesVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != vm.EmployeeID) { return(BadRequest()); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { EmployeesRepository }); var bo = (BOEmployees)vm.BOEmployees(EmployeesRepository); uow.Update(bo); string err; if (!uow.Commit(out err)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(err) }; throw new HttpResponseException(resp); } return(true); }); await result; if (!result.Result) { return(NotFound()); } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult Edit(int employee_id) { string errorMsg = String.Empty; if (TempData.ContainsKey("error")) { errorMsg = TempData["error"].ToString(); } EmployeesModel employee = new EmployeesModel(); List <SelectListItem> teamList = new List <SelectListItem>(); try { employee = _employeesService.GetEmployee(employee_id); teamList = Utils.Helper.GetTeamList(employee.Team_Id); } catch (Exception e) { TempData["error"] = $"Problems with getting information from database (services). {e.Message}"; return(RedirectToAction("Index", "Home")); } EmployeesVm employeeVm = new EmployeesVm() { Id = employee.Id, FirstName = employee.FirstName, MiddleName = employee.MiddleName, LastName = employee.LastName, Email = employee.Email, Team_Id = employee.Team_Id, TeamList = teamList, ErrorMsg = errorMsg }; return(View("Edit", employeeVm)); }