public async Task <IActionResult> CreateBodyArea(BodyAreaForCreationDto BodyArea)
        {
            if (BodyArea != null)
            {
                var BodyMapped = _mapper.Map <BodyAreas>(BodyArea);
                _repo.Add(BodyMapped);
                await _repo.SaveAll();

                return(Ok());
            }
            return(BadRequest("Cheak Your Object"));
        }
Exemple #2
0
        public async Task <IActionResult> LikeUser(string id, string recipientId)
        {
            if (id != User.FindFirst(ClaimTypes.NameIdentifier).Value)
            {
                return(Unauthorized());
            }
            var like = await _repo.GetLike(id, recipientId);

            if (like != null)
            {
                return(BadRequest("You Already Like This User"));
            }
            if (await _repo.GetUser(recipientId) == null)
            {
                return(NotFound());
            }

            like = new DCC.API.Model.Like
            {
                LikerId = id,
                LikeeId = recipientId
            };
            _repo.Add <Like>(like);
            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Faild To Like User !"));
        }
        public async Task <IActionResult> CreateMessage(string userId, MessageForCreationDto messageForCreationDto)
        {
            var sender = await _rebo.GetUser(userId);

            if (sender.Id != User.FindFirst(ClaimTypes.NameIdentifier).Value)
            {
                return(Unauthorized());
            }

            messageForCreationDto.SenderId = userId;
            var recipient = await _rebo.GetUser(messageForCreationDto.RecipientId);

            if (recipient == null)
            {
                return(BadRequest("Could Not Find User"));
            }
            var message = _mapper.Map <Message>(messageForCreationDto);



            _rebo.Add(message);
            if (await _rebo.SaveAll())
            {
                var accesToken = Request.Headers["Authorization"];

                var messageToSend = _mapper.Map <MessageToReturnDto>(message);
                // var theMessage = JsonConvert.SerializeObject(messageToSend);
                await _webSocketService.SendMessage(messageToSend, recipient.Id);

                var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest;

                request.KeepAlive   = true;
                request.Method      = "POST";
                request.ContentType = "application/json; charset=utf-8";

                request.Headers.Add("authorization", "Basic OGJjNGEzNGQtODMyZS00MmFkLThkMmUtY2I3ODllMzE1Zjdi");

                byte[] byteArray = Encoding.UTF8.GetBytes("{"
                                                          + "\"app_id\": \"1247426f-2d83-4c66-802e-8f8e2440b95f\","
                                                          + "\"contents\": {\"en\": messageToSend.Content},"
                                                          + "\"included_segments\": [\"Active Users\"]}");

                string responseContent = null;

                try
                {
                    using (var writer = request.GetRequestStream())
                    {
                        writer.Write(byteArray, 0, byteArray.Length);
                    }

                    using (var response = request.GetResponse() as HttpWebResponse)
                    {
                        using (var reader = new StreamReader(response.GetResponseStream()))
                        {
                            responseContent = reader.ReadToEnd();
                        }
                    }
                }
                catch (WebException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                    System.Diagnostics.Debug.WriteLine(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
                }

                System.Diagnostics.Debug.WriteLine(responseContent);

                return(CreatedAtRoute("GetMessage", new { id = message.Id }, messageToSend));
            }


            throw new Exception("Creating Message Failed on sent ");
        }