コード例 #1
0
        public async Task <IActionResult> UpdateTransportationStageAsync([FromBody] UpdateTransportationStageManagementAc updateTransportationStage)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            return(Ok(await _transportationStageManagementRepository.UpdateTransportationStageAsync(updateTransportationStage, user)));
        }
コード例 #2
0
        /// <summary>
        /// Method to update stage - SS
        /// </summary>
        /// <param name="updateTransportationStage">stage detail</param>
        /// <param name="loggedInUser">logged in user</param>
        /// <returns>response</returns>
        public async Task <TransportationStageManagementResponse> UpdateTransportationStageAsync(UpdateTransportationStageManagementAc
                                                                                                 updateTransportationStage, ApplicationUser loggedInUser)
        {
            if (string.IsNullOrEmpty(updateTransportationStage.Name) && string.IsNullOrEmpty(updateTransportationStage.Name))
            {
                return new TransportationStageManagementResponse()
                       {
                           HasError = true, Message = "Name can't be empty", ErrorType = TransportationStageManagementResponseType.Name
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateTransportationStage.Code) && string.IsNullOrEmpty(updateTransportationStage.Code))
            {
                return new TransportationStageManagementResponse()
                       {
                           HasError = true, Message = "Code can't be empty", ErrorType = TransportationStageManagementResponseType.Code
                       }
            }
            ;
            else
            {
                var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true);

                var stages = await _iMSDbContext.TransportationStages.Where(x => x.InstituteId == instituteId && x.Id != updateTransportationStage.Id).ToListAsync();

                if (stages.Any(x => x.Code.ToLowerInvariant() == updateTransportationStage.Code.ToLowerInvariant()))
                {
                    return new TransportationStageManagementResponse()
                           {
                               HasError = true, Message = "Code already exist. Please use unique one", ErrorType = TransportationStageManagementResponseType.Code
                           }
                }
                ;
                else
                {
                    var stage = await _iMSDbContext.TransportationStages.FirstOrDefaultAsync(x => x.Id == updateTransportationStage.Id && x.InstituteId == instituteId);

                    if (stage == null)
                    {
                        return new TransportationStageManagementResponse()
                               {
                                   HasError = true, Message = "Stage not found", ErrorType = TransportationStageManagementResponseType.Id
                               }
                    }
                    ;
                    else
                    {
                        stage.Address = updateTransportationStage.Address;

                        stage.Code        = updateTransportationStage.Code;
                        stage.Name        = updateTransportationStage.Name;
                        stage.UpdatedById = loggedInUser.Id;
                        stage.UpdatedOn   = DateTime.UtcNow;
                        stage.Latitude    = updateTransportationStage.Latitude;
                        stage.Longitude   = updateTransportationStage.Longitude;
                        stage.SlabId      = updateTransportationStage.SlabId;
                        stage.Term1       = updateTransportationStage.Term1;
                        stage.Term2       = updateTransportationStage.Term2;
                        stage.Term3       = updateTransportationStage.Term3;
                        _iMSDbContext.TransportationStages.Update(stage);
                        await _iMSDbContext.SaveChangesAsync();

                        return(new TransportationStageManagementResponse()
                        {
                            HasError = false, Message = "Stage updated successfully"
                        });
                    }
                }
            }
        }