Пример #1
0
        public async Task <long> RepairApplication(RepairApplicationModel repairModel)
        {
            var personMksResultWithClient = JsonConvert.DeserializeObject <MksResponseResult>(
                await RequestExecutor.ExecuteRequest(Scope.PersonMksUrl,
                                                     new RestRequest("/GetPersonIdByFIO", Method.POST)
                                                     .AddHeader("Content-type", "application/json")
                                                     .AddJsonBody(new
            {
                fio = repairModel.ClientFIO
            })));

            if (!personMksResultWithClient.Success)
            {
                throw new Exception(personMksResultWithClient.Data);
            }
            MksResponseResult result;
            long?master = null;

            if (repairModel.MasterFIO != "не определен")
            {
                result = JsonConvert.DeserializeObject <MksResponseResult>(
                    await RequestExecutor.ExecuteRequest(Scope.PersonMksUrl,
                                                         new RestRequest("/GetPersonIdByFIO", Method.POST)
                                                         .AddHeader("Content-type", "application/json")
                                                         .AddJsonBody(new
                {
                    fio = repairModel.MasterFIO
                })));
                if (!result.Success)
                {
                    throw new Exception(result.Data);
                }
                master = long.Parse(result.Data);
            }
            var repair = new Models.Repairs
            {
                StartDate  = repairModel.StartDate,
                EndDate    = repairModel.EndDate,
                RepairType = repairModel.RepairType,
                Status     = (byte)RepairStatuses.Confirm,
                Client     = long.Parse(personMksResultWithClient.Data),
                Master     = master
            };

            _context.Repairs.Add(repair);
            await _context.SaveChangesAsync();

            return(repair.RepairId);
        }
Пример #2
0
        public async Task <IActionResult> RepairApplication([FromBody] RepairApplicationModel model)
        {
            try
            {
                var repairId = await _repairsRepository.RepairApplication(model);

                return(Json(
                           new
                {
                    Success = true,
                    Data = repairId
                }));
            }
            catch (Exception exception)
            {
                return(Json(new { Success = false, exception.Message }));
            }
        }