Beispiel #1
0
        /// <summary>
        /// <inheritdoc />
        /// </summary>
        /// <param name="model"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <Responsibility> AddResponsibilityAsync(AddResponsibilityViewModel model,
                                                                          CancellationToken cancellationToken = default(CancellationToken))
        {
            // Check exists responsibility
            var responsibilities = _unitOfWork.Responsibilities.Search();

            responsibilities = responsibilities.Where(x => x.Name.Equals(model.Name));
            var responsibility = await responsibilities.FirstOrDefaultAsync(cancellationToken);

            if (responsibility != null)
            {
                throw new HttpException((int)HttpStatusCode.Conflict, HttpMessages.ResponsibilityAlreadyAvailable);
            }

            //Inital responsibility object
            responsibility             = new Responsibility();
            responsibility.Name        = model.Name;
            responsibility.CreatedTime = DateTime.Now.ToOADate();

            //Add responsibility to database
            _unitOfWork.Responsibilities.Insert(responsibility);

            //Save changes to database
            await _unitOfWork.CommitAsync();

            return(responsibility);
        }
        public async Task <Responsibility> AddResponsibilityAsync(AddResponsibilityViewModel model,
                                                                  CancellationToken cancellationToken = default(CancellationToken))
        {
            //Check exists responsibility
            var isExists = await _dbContext.Responsibilities.AnyAsync(c => c.Name == model.Name, cancellationToken);

            if (isExists)
            {
                throw new Exception();
            }

            //Inital responsibility object
            var responsibility = new Responsibility();

            responsibility.Name        = model.Name;
            responsibility.CreatedTime = DateTime.Now.ToOADate();

            //Add responsibility to database
            responsibility = _dbContext.Responsibilities.Add(responsibility);

            //Save changes to database
            await _dbContext.SaveChangesAsync(cancellationToken);

            return(responsibility);
        }
        public async Task <IHttpActionResult> AddResponsibility([FromBody] AddResponsibilityViewModel model)
        {
            if (model == null)
            {
                model = new AddResponsibilityViewModel();
                Validate(model);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var responsibility = await _responsibilityService.AddResponsibilityAsync(model);

            return(Ok(responsibility));
        }
Beispiel #4
0
        public async Task <IHttpActionResult> AddResponsibility([FromBody] AddResponsibilityViewModel model)
        {
            if (model == null)
            {
                model = new AddResponsibilityViewModel();
                Validate(model);
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Check exists responsibility
            var responsibilities = _unitOfWork.Responsibilities.Search();

            responsibilities = responsibilities.Where(x => x.Name.Equals(model.Name));
            var responsibility = await responsibilities.FirstOrDefaultAsync();

            if (responsibility != null)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Conflict,
                                                                   HttpMessages.ResponsibilityAlreadyAvailable)));
            }

            //Inital responsibility object
            responsibility             = new Responsibility();
            responsibility.Name        = model.Name;
            responsibility.CreatedTime = DateTime.Now.ToOADate();

            //Add responsibility to database
            _unitOfWork.Responsibilities.Insert(responsibility);

            //Save changes to database
            await _unitOfWork.CommitAsync();

            return(Ok(responsibility));
        }