Пример #1
0
        public IActionResult Patch(int id, [FromBody] MemberNotificationView memberNotificationView)
        {
            memberNotificationView.Id = id;

            try
            {
                return(Ok(_service.PatchNotifications(memberNotificationView)));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"Patch method with parameters ({id}, {memberNotificationView});\n {e}");
                var errors = ExceptionsChecker.CheckTimeEntriesException(e);
                return(BadRequest(errors));
            }
        }
Пример #2
0
        public MemberView PatchNotifications(MemberNotificationView memberNotificationView)
        {
            CheckRelatedEntities(ImpersonatedUserName, out var memberByName);
            memberByName = Uow.MemberRepository.GetQueryByUserName(ImpersonatedUserName);
            memberByName.SendEmailTime = memberNotificationView.SendEmailTime;
            memberByName.SendEmailDays = ConverterBitMask.DayOfWeekStringToInt(memberNotificationView.SendEmailDays);
            memberByName.IsWeeklyTimeEntryUpdatesSend = memberNotificationView.IsWeeklyTimeEntryUpdatesSend;

            Uow.MemberRepository.Update(memberByName);
            Uow.Save();

            Uow.MemberRepository.LinkedCacheClear();

            var urlIcon    = _avatarService.GetUrlIcon(memberByName.Id);
            var memberView = memberByName.GetView(Mapper, urlIcon);

            return(memberView);
        }
Пример #3
0
        public MemberView PatchNotifications(string userName, MemberNotificationView memberNotificationView)
        {
            CheckRelatedEntities(userName, out var memberByName);
            memberByName = Uow.MemberRepository.GetQueryByUserName(userName);
            memberByName.SendEmailTime = memberNotificationView.SendEmailTime;
            memberByName.SendEmailDays = ConverterBitMask.DayOfWeekStringToInt(memberNotificationView.SendEmailDays);
            memberByName.IsWeeklyTimeEntryUpdatesSend = memberNotificationView.IsWeeklyTimeEntryUpdatesSend;

            try
            {
                Uow.MemberRepository.Update(memberByName);
                Uow.Save();

                Uow.MemberRepository.LinkedCacheClear();

                return(memberByName.GetView(Mapper));
            }
            catch (Exception e)
            {
                throw new CoralTimeDangerException("An error occurred while updating member", e);
            }
        }
Пример #4
0
        public IActionResult Patch(int id, [FromBody] MemberNotificationView memberNotificationView)
        {
            memberNotificationView.Id = id;

            return(Ok(_service.PatchNotifications(memberNotificationView)));
        }