public async Task<IHttpActionResult> CreateSpecialized([FromBody] AddSpecializedViewModel info)
        {
            #region Parameter validation

            if (info == null)
            {
                info = new AddSpecializedViewModel();
                Validate(info);
            }
            if (!ModelState.IsValid)
                return BadRequest(ModelState);

            #endregion

            var specializeds = UnitOfWork.RepositorySpecialized.Search();
            specializeds =
                specializeds.Where(x => x.Name.Equals(info.Name, StringComparison.InvariantCultureIgnoreCase));

            // Specialized exists.
            if (await specializeds.AnyAsync())
                return ResponseMessage(
                    Request.CreateErrorResponse(HttpStatusCode.Conflict, HttpMessages.CannotBeDuplicated));

            var specialized = new Database.Models.Entities.Specialized
            {
                Name = info.Name,
                Status = MasterItemStatus.Active
            };

            specialized = UnitOfWork.RepositorySpecialized.Insert(specialized);

            await UnitOfWork.CommitAsync();

            return Ok(specialized);
        }
示例#2
0
        /// <summary>
        /// Create new specialized
        /// </summary>
        /// <param name="model"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <Specialized> AddSpecializedAsync(AddSpecializedViewModel model,
                                                                    CancellationToken cancellationToken = default(CancellationToken))
        {
            // Search specialized
            var specializeds = _unitOfWork.RepositorySpecialized.Search();

            specializeds =
                specializeds.Where(x => x.Name.Equals(model.Name, StringComparison.InvariantCultureIgnoreCase));

            // Check Specialized exists or not.
            if (await specializeds.AnyAsync(cancellationToken))
            {
                throw new ApiException(HttpMessages.CannotBeDuplicated, HttpStatusCode.Conflict);
            }

            var specialized = new Specialized
            {
                Name   = model.Name,
                Status = MasterItemStatus.Active
            };

            _unitOfWork.RepositorySpecialized.Insert(specialized);

            // Commit to db.
            await _unitOfWork.CommitAsync();

            return(specialized);
        }
        public virtual async Task <IHttpActionResult> CreateSpecialized([FromBody] AddSpecializedViewModel info)
        {
            #region Parameter validation

            if (info == null)
            {
                info = new AddSpecializedViewModel();
                Validate(info);
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            #endregion

            // Call business to add specialized
            var specialized = await _specializedBusiness.AddSpecializedAsync(info);

            return(Ok(specialized));
        }