public async Task <int> CreateDialogControl(DialogControlDto dialogControl)
        {
            var entity = mapper.Map <DialogControlDto, DialogControl>(dialogControl);
            var result = await dialogControlService.Create(entity);

            return(result.Id);
        }
Example #2
0
        /// <summary>
        /// Диалог по пользователю (получатель)
        /// </summary>
        /// <param name="id">Идентификатор получателя</param>
        public async Task <IActionResult> DialogByUser(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var user = await userBusinessService.GetUserById(id);

            if (user == null)
            {
                return(NotFound());
            }

            var me = await userBusinessService.GetUserByEmail(User.Identity.Name);

            var dialog = await messageBusinessService.GetDialogControlByInterlocutorsId(me.Id, user.Id);

            if (dialog == null)
            {
                dialog = new DialogControlDto()
                {
                    FirstInterlocutorEmail  = User.Identity.Name,
                    FirstInterlocutorId     = me.Id,
                    SecondInterlocutorEmail = user.Email,
                    SecondInterlocutorId    = user.Id
                };

                dialog.Id = await messageBusinessService.CreateDialogControl(dialog);
            }

            return(RedirectToAction("Dialog", new { id = dialog.Id }));
        }