public async Task <IActionResult> AddTransportationStageAsync([FromBody] AddTransportationStageManagementAc addTransportationStage)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

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

                if (await _iMSDbContext.TransportationStages.AnyAsync(x => x.Code.ToLowerInvariant() == addTransportationStage.Code
                                                                      .ToLowerInvariant() && x.InstituteId == instituteId))
                {
                    return new TransportationStageManagementResponse()
                           {
                               HasError = true, Message = "Code already exist. Please use unique one", ErrorType = TransportationStageManagementResponseType.Code
                           }
                }
                ;
                else
                {
                    var stage = new TransportationStage()
                    {
                        Address     = addTransportationStage.Address,
                        Code        = addTransportationStage.Code,
                        CreatedOn   = DateTime.UtcNow,
                        InstituteId = instituteId,
                        Name        = addTransportationStage.Name,
                        UpdatedById = loggedInUser.Id,
                        UpdatedOn   = DateTime.UtcNow,
                        Latitude    = addTransportationStage.Latitude,
                        Longitude   = addTransportationStage.Longitude,
                        SlabId      = addTransportationStage.SlabId,
                        Term1       = addTransportationStage.Term1,
                        Term2       = addTransportationStage.Term2,
                        Term3       = addTransportationStage.Term3
                    };

                    _iMSDbContext.TransportationStages.Add(stage);
                    await _iMSDbContext.SaveChangesAsync();

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