Exemple #1
0
        public IHttpActionResult RemoveProfession(int id, ICollection <string> professionNames)
        {
            if (professionNames.Any(p => !EmployeeControllerHelper.NameValidator(p)))
            {
                throw new IncorrectDataException(nameof(professionNames));
            }

            var existModel = db.FindModelById(id);

            if (existModel == null)
            {
                return(NotFound());
            }

            var removeProfessionList = professionNames
                                       .Select(p => new ProfessionModel {
                ProfessionName = p, EmployeeModelId = id
            })
                                       .ToList();
            var intersectProfessions = existModel.Professions.Intersect(removeProfessionList,
                                                                        new ProfessionNameEqualityComparer <ProfessionModel>());

            db.Professions.RemoveRange(intersectProfessions);
            db.SaveChanges();
            return(Ok(existModel));
        }
        public override bool IsValid(object value)
        {
            var str = value as string;

            if (str == null)
            {
                return(false);
            }

            return(EmployeeControllerHelper.NameValidator(str));
        }
Exemple #3
0
        public IHttpActionResult RemoveProfession(int id, string professionName)
        {
            if (!EmployeeControllerHelper.NameValidator(professionName))
            {
                throw new IncorrectDataException(nameof(professionName));
            }

            return(RemoveProfession(id, new List <string> {
                professionName
            }));
        }
Exemple #4
0
        public IHttpActionResult AddProfession(int id, string professionName)
        {
            if (!EmployeeControllerHelper.NameValidator(professionName))
            {
                throw new IncorrectDataException(nameof(professionName));
            }

            var professions = new NewProfessionsDto
            {
                Id = id,
                ProfessionNames = new string[] { professionName }
            };

            return(AddProfession(professions));
        }
Exemple #5
0
        public IHttpActionResult Add(string firstName, string lastName, string age, string gender = null)
        {
            var ageInt = 0;

            if (!EmployeeControllerHelper.NameValidator(firstName))
            {
                throw new IncorrectDataException(nameof(firstName));
            }
            if (!EmployeeControllerHelper.NameValidator(lastName))
            {
                throw new IncorrectDataException(nameof(lastName));
            }
            if (!EmployeeControllerHelper.AgeValidator(age, ref ageInt))
            {
                throw new IncorrectDataException(nameof(age));
            }
            if (gender != null && !EmployeeControllerHelper.IsGenderFromSexParty(gender))
            {
                throw new IncorrectDataException(nameof(gender));
            }

            var findResult = FindEmployee(firstName, lastName, age) as OkNegotiatedContentResult <List <EmployeeModel> >;

            if (findResult?.Content?.Count > 0)
            {
                throw new InvalidOperationException("Employee with such data already exists in the database");
            }

            var employeeModel = db.Employees.Add(new EmployeeModel
            {
                Age       = ageInt,
                FirstName = firstName,
                LastName  = lastName,
                Gender    = gender
            });

            db.SaveChanges();
            return(Ok(employeeModel));
        }