コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        // 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));
        }
コード例 #4
0
        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"));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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));
        }