public async Task <IActionResult> CreateServiceRequestAsync(Models.ServiceRequest model)
        {
            var result = await _provider.CreateServiceRequestAsync(model);

            if (result.success)
            {
                return(Ok(result.serviceRequest));
            }

            return(BadRequest(result.errorMessage));
        }
        public async Task <IActionResult> UpdateServiceRequestAsync(Models.ServiceRequest model)
        {
            var result = await _provider.UpdateServiceRequestAsync(model);

            if (result.status == Models.ReturnStatusEnum.Success)
            {
                return(Ok(result.serviceRequest));
            }

            if (result.status == Models.ReturnStatusEnum.NotFound)
            {
                return(NotFound());
            }

            return(BadRequest(result.errorMessage));
        }
Ejemplo n.º 3
0
        public async Task <(bool success, Models.ServiceRequest serviceRequest, string errorMessage)> CreateServiceRequestAsync(Models.ServiceRequest serviceRequest)
        {
            try
            {
                serviceRequest.Id = Guid.NewGuid();

                //perform validation - skipping for now :(

                var dataModel = _mapper.Map <Models.ServiceRequest, Data.ServiceRequest>(serviceRequest);

                await _context.AddAsync(dataModel);

                _context.SaveChanges();

                var viewModel = _mapper.Map <Data.ServiceRequest, Models.ServiceRequest>(dataModel);

                return(true, viewModel, null);
            }
            catch (Exception ex)
            {
                _logger?.LogError(ex.ToString());
                return(false, null, ex.Message);
            }
        }
Ejemplo n.º 4
0
        public async Task <(ReturnStatusEnum status, Models.ServiceRequest serviceRequest, string errorMessage)> UpdateServiceRequestAsync(Models.ServiceRequest serviceRequest)
        {
            try
            {
                var dataModel = await _context.ServiceRequests.FirstOrDefaultAsync(x => x.Id == serviceRequest.Id);

                if (dataModel == null)
                {
                    return(ReturnStatusEnum.NotFound, null, $"Service request with Id {serviceRequest.Id} was not found");
                }

                //perform validation - skipping for now :(

                //Update data model - probably might use the mapper, but the was the quickest for now.
                dataModel.BuildingCode     = serviceRequest.BuildingCode;
                dataModel.Description      = serviceRequest.Description;
                dataModel.CurrentStatus    = serviceRequest.CurrentStatus.TransformCurrentStatus();
                dataModel.LastModifiedBy   = serviceRequest.LastModifiedBy;
                dataModel.LastModifiedDate = serviceRequest.LastModifiedDate;

                _context.Entry(dataModel).State = EntityState.Modified;
                _context.Update(dataModel);
                await _context.SaveChangesAsync();

                var viewModel = _mapper.Map <Data.ServiceRequest, Models.ServiceRequest>(dataModel);

                return(ReturnStatusEnum.Success, viewModel, null);
            }
            catch (Exception ex)
            {
                _logger?.LogError(ex.ToString());
                return(ReturnStatusEnum.BadRequest, null, ex.Message);
            }
        }
Ejemplo n.º 5
0
 private async void Save_Clicked(object sender, EventArgs e)
 {
     IfConnected(async() =>
     {
         ShowBusy(MessageHelper.Saving);
         if (subject.Text == "")
         {
             DisplayAlert(MessageHelper.EnterSubject, "", "OK");
         }
         else if (HouseCategory.SelectedIndex == -1)
         {
             DisplayAlert(MessageHelper.EnterHouse, "", "OK");
         }
         else if (Category.SelectedIndex == -1)
         {
             DisplayAlert(MessageHelper.EnterCategory, "", "OK");
         }
         else if (noteArea.Text == "" || noteArea.Text == null)
         {
             DisplayAlert(MessageHelper.EnterDescription, "", "OK");
         }
         else if (PreferredTimingsCategory.SelectedIndex == -1)
         {
             DisplayAlert(MessageHelper.EnterPreferredTiming, "", "OK");
         }
         else
         {
             ShowBusy(MessageHelper.Loading);
             var service               = DependencyService.Get <IServiceRequest>();
             var houseandcategory      = await service.GetAllDropDown();
             var houseValue            = (HouseCategory.Items[HouseCategory.SelectedIndex]);
             var categoryValue         = Category.Items[Category.SelectedIndex];
             var timingValue           = PreferredTimingsCategory.Items[PreferredTimingsCategory.SelectedIndex];
             Models.ServiceRequest ser = new Models.ServiceRequest();
             ser.Subject               = subject.Text;
             var houseCat              = houseandcategory.Houses.FirstOrDefault(i => i.DoorNumber == houseValue);
             if (houseCat != null)
             {
                 ser.House = (houseCat.Id);
             }
             var CategoryData = houseandcategory.Categories.FirstOrDefault(i => i.Name == categoryValue);
             if (CategoryData != null)
             {
                 ser.Category = (CategoryData.Id);
             }
             var timingData = houseandcategory.PreferredTimings.FirstOrDefault(i => i.Timings == timingValue);
             if (timingData != null)
             {
                 ser.PreferredTimings = (timingData.Id);
             }
             var dd            = DatePicker.Date;
             ser.PreferredDate = dd.ToString("yyyy-MM-dd");
             ser.Content       = noteArea.Text;
             var result        = await _serviceRequestService.ServiceRequestCreate(ser);
             HideBusy();
             if (result)
             {
                 HideBusy();
                 MessageHelper.ShowToast(ToastNotificationType.Success, "Success");
                 Navigation.PopAsync();
             }
             else
             {
                 HideBusy();
                 MessageHelper.ShowToast(ToastNotificationType.Error, "Failure");
             }
         }
         HideBusy();
     });
 }