コード例 #1
0
        public async Task <ResponseViewModel> CreateNew(WorkOrderInputModel workOrder)
        {
            AppUser currentUser = await _userManager.FindByIdAsync(_httpContextAccessor.HttpContext.User.GetLoggedInUserId <int>().ToString());

            //var uploadResult = await
            //    BaseContentServer
            //    .Build(ContentServerTypeEnum.FIREBASE, _settings)
            //    .UploadDocumentAsync(FileDocument.Create(workOrder.Document, $"WorkOrder", $"{currentUser.GUID}", FileDocumentType.GetDocumentType(MIMETYPE.IMAGE)));

            var plotResult = _plotService.AllPlots().FirstOrDefault(x => x.Id == workOrder.PlotId);

            if (plotResult == null)
            {
                return(NotFound(ResponseMessageViewModel.INVALID_PLOT, ResponseErrorCodeStatus.INVALID_PLOT));
            }

            var workOrderType = _workOrderService.GetWorkOrderTypes().FirstOrDefault(x => x.Id == workOrder.WorkOrderTypeId);

            if (workOrderType == null)
            {
                return(NotFound(ResponseMessageViewModel.INVALID_WORK_ORDER_TYPE, ResponseErrorCodeStatus.INVALID_WORK_ORDER_TYPE));
            }

            workOrder.AppUserId = currentUser.Id;

            // workOrder.Document = uploadResult.Path;

            var result = _workOrderService.CreateNew(_mapper.Map <WorkOrderInputModel, WorkOrder>(workOrder));

            return(Ok(_mapper.Map <WorkOrder, WorkOrderViewModel>(result)));
        }