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)); }
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); } }
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); } }
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(); }); }