public async Task<IHttpActionResult> EditSpecialized([FromUri] int id, [FromBody] EditSpecializedViewModel info)
        {
            #region Parameter validation

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

            #endregion

            #region Find specialized

            var specializeds = UnitOfWork.RepositorySpecialized.Search();

            var specialized = await specializeds.Where(x => x.Id == id).FirstOrDefaultAsync();

            if (specialized == null)
            {
                return ResponseMessage(
                    Request.CreateErrorResponse(HttpStatusCode.NotFound, HttpMessages.SpecializedNotFound));
            }

            #endregion

            #region Update specialized information

            // Check whether information has been updated or not.
            var bHasInformationChanged = false;

            // Name is specified.
            if (info.Name != null && info.Name != specialized.Name)
            {
                specialized.Name = info.Name;
                bHasInformationChanged = true;
            }

            // Status is defined.
            if (info.Status != null && info.Status != specialized.Status)
            {
                specialized.Status = info.Status.Value;
                bHasInformationChanged = true;
            }

            // Information has been changed. Update the date time.
            if (bHasInformationChanged)
            {
                // Save information into database.
                await UnitOfWork.CommitAsync();
            }

            #endregion

            return Ok(specialized);
        }
示例#2
0
        /// <summary>
        /// Edit specialized
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <Specialized> EditSpecializedAsync(int id, EditSpecializedViewModel model,
                                                                     CancellationToken cancellationToken = default(CancellationToken))
        {
            // Get all specialized
            var specializeds = _unitOfWork.RepositorySpecialized.Search();

            var specialized = await specializeds.Where(x => x.Id == id).FirstOrDefaultAsync(cancellationToken);

            // Check item exist or not
            if (specialized == null)
            {
                throw new ApiException(HttpMessages.SpecializedNotFound, HttpStatusCode.NotFound);
            }

            #endregion

            #region Update specialized information

            // Check whether information has been updated or not.
            var bHasInformationChanged = false;

            // Name is specified.
            if (model.Name != null && model.Name != specialized.Name)
            {
                specialized.Name       = model.Name;
                bHasInformationChanged = true;
            }

            // Status is defined.
            if (model.Status != null && model.Status != specialized.Status)
            {
                specialized.Status     = model.Status.Value;
                bHasInformationChanged = true;
            }

            // Information has been changed. Update the date time.
            if (bHasInformationChanged)
            {
                // Save information into database.
                await _unitOfWork.CommitAsync();
            }

            return(specialized);
        }
        public async Task <IHttpActionResult> EditSpecialized([FromUri] int id, [FromBody] EditSpecializedViewModel info)
        {
            #region Parameter validation

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

            #endregion

            #region Update specialized

            var specialized = await _specializedBusiness.EditSpecializedAsync(id, info);

            #endregion

            return(Ok(specialized));
        }