コード例 #1
0
ファイル: RequestController.cs プロジェクト: g0d13/SSocial
        public async Task <IActionResult> PutRequest(Guid id, RequestForCreationDto requestForCreation)
        {
            if (id != requestForCreation.Id)
            {
                return(BadRequest());
            }

            var savedRequest = _mapper.Map <Request>(requestForCreation);

            var saveRequest = new Request
            {
                Description  = requestForCreation.Description,
                Priority     = requestForCreation.Priority,
                SupervisorId = requestForCreation.Supervisor,
                CreatedAt    = requestForCreation.CreatedAt,
                RequestId    = requestForCreation.Id
            };

            _context.Entry(saveRequest).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestExists(id))
                {
                    return(NotFound());
                }
                throw;
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <IActionResult> CreateRequest(RequestForCreationDto request)
        {
            if (request != null)
            {
                Request reuest = new Request();

                reuest.DrugId      = request.DrugId;
                reuest.RequestId   = request.RequestId;
                reuest.BodyAreasId = request.BodyAreasId;
                reuest.SymptomId   = request.SymptomId;
                reuest.UserId      = request.UserId;
                reuest.TimeCreated = DateTime.Now;
                // var History = new History
                // {
                //     RequestId = request.RequestId,
                //     UserId = request.UserId,


                // };
                // _repo.Add(History);
                // await _repo.SaveAll();

                // int lastProductId = History.HistoryId;
                // reuest.HistoryId = lastProductId;

                // var requestMapped = _mapper.Map<Request>(request);
                _repo.Add(reuest);
                await _repo.SaveAll();

                return(Ok());
            }

            return(BadRequest("Cheak Your Object"));
        }
コード例 #3
0
ファイル: RequestController.cs プロジェクト: g0d13/SSocial
        public async Task <ActionResult <RequestForCreationDto> > PostRequest(RequestForCreationDto requestForCreation)
        {
            var supervisor = HttpContext.User.FindFirst(ClaimTypes.Actor)?.Value;

            if (supervisor == null)
            {
                return(BadRequest(""));
            }

            var savedRequest = new Request
            {
                Description  = requestForCreation.Description,
                ProblemCode  = requestForCreation.ProblemCode,
                Log          = await _context.Logs.FindAsync(requestForCreation.Log),
                Machine      = await _context.Machines.FindAsync(requestForCreation.Machine),
                SupervisorId = Guid.Parse(supervisor),
                CreatedAt    = DateTime.Now,
                Priority     = requestForCreation.Priority,
            };

            await _context.Request.AddAsync(savedRequest);

            await _context.SaveChangesAsync();

            var userToNotify = savedRequest.Log.MechanicId;
            var makeNotif    = _userConnectionManager.GetUserConnections(userToNotify.ToString());

            foreach (var connection in makeNotif.Where(connection => !string.IsNullOrWhiteSpace(connection)))
            {
                await _hubContext.Clients.Client(connection).SendAsync("ReceiveNotification", savedRequest.RequestId);
            }

            requestForCreation.Id = savedRequest.RequestId;
            return(CreatedAtAction("GetRequest", new { id = savedRequest.RequestId }, requestForCreation));
        }