public SaveResponse Update(IUnitOfWork uow, UserPreferenceUpdateRequest request)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            if (request.Name is null)
            {
                throw new ArgumentNullException(nameof(request.Name));
            }
            if (request.PreferenceType is null)
            {
                throw new ArgumentNullException(nameof(request.PreferenceType));
            }

            var userId = Convert.ToInt32(Context.User.GetIdentifier(), CultureInfo.InvariantCulture);
            var fld    = MyRow.Fields;

            var criteria = fld.UserId == userId &
                           fld.PreferenceType == request.PreferenceType &
                           fld.Name == request.Name;

            if (string.IsNullOrEmpty(request.Value))
            {
                new SqlDelete(fld.TableName)
                .Where(criteria)
                .Execute(uow.Connection, ExpectedRows.ZeroOrOne);

                return(new SaveResponse());
            }

            if (new SqlUpdate(fld.TableName)
                .Set(fld.Value, request.Value)
                .Where(criteria)
                .Execute(uow.Connection, ExpectedRows.ZeroOrOne) == 0)
            {
                new SqlInsert(fld.TableName)
                .Set(fld.UserId, userId)
                .Set(fld.PreferenceType, request.PreferenceType)
                .Set(fld.Name, request.Name)
                .Set(fld.Value, request.Value)
                .Execute(uow.Connection);
            }

            return(new SaveResponse());
        }
Example #2
0
        public SaveResponse Update(IUnitOfWork uow, UserPreferenceUpdateRequest request)
        {
            Check.NotNull(request, "request");
            Check.NotNull(request.Name, "name");
            Check.NotNull(request.PreferenceType, "preferenceType");

            var userId = (Authorization.UserDefinition as UserDefinition).UserId;

            var criteria = fld.UserId == userId &
                           fld.PreferenceType == request.PreferenceType &
                           fld.Name == request.Name;

            if (string.IsNullOrEmpty(request.Value))
            {
                new SqlDelete(fld.TableName)
                .Where(criteria)
                .Execute(uow.Connection, ExpectedRows.ZeroOrOne);

                return(new SaveResponse());
            }

            if (new SqlUpdate(fld.TableName)
                .Set(fld.Value, request.Value)
                .Where(criteria)
                .Execute(uow.Connection, ExpectedRows.ZeroOrOne) == 0)
            {
                new SqlInsert(fld.TableName)
                .Set(fld.UserId, userId)
                .Set(fld.PreferenceType, request.PreferenceType)
                .Set(fld.Name, request.Name)
                .Set(fld.Value, request.Value)
                .Execute(uow.Connection);
            }

            return(new SaveResponse());
        }
        public SaveResponse Update(IUnitOfWork uow, UserPreferenceUpdateRequest request)
        {
            Check.NotNull(request, "request");
            Check.NotNull(request.Name, "name");
            Check.NotNull(request.PreferenceType, "preferenceType");

            var userId = (Authorization.UserDefinition as UserDefinition).UserId;

            var criteria = fld.UserId == userId &
                fld.PreferenceType == request.PreferenceType &
                fld.Name == request.Name;

            if (string.IsNullOrEmpty(request.Value))
            {
                new SqlDelete(fld.TableName)
                    .Where(criteria)
                    .Execute(uow.Connection, ExpectedRows.ZeroOrOne);

                return new SaveResponse();
            }

            if (new SqlUpdate(fld.TableName)
                    .Set(fld.Value, request.Value)
                    .Where(criteria)
                    .Execute(uow.Connection, ExpectedRows.ZeroOrOne) == 0)
            {
                new SqlInsert(fld.TableName)
                    .Set(fld.UserId, userId)
                    .Set(fld.PreferenceType, request.PreferenceType)
                    .Set(fld.Name, request.Name)
                    .Set(fld.Value, request.Value)
                    .Execute(uow.Connection);
            }

            return new SaveResponse();
        }
Example #4
0
 public ServiceResponse Update(IUnitOfWork uow, UserPreferenceUpdateRequest request)
 {
     return(new MyRepository().Update(uow, request));
 }
 public ServiceResponse Update(IUnitOfWork uow, UserPreferenceUpdateRequest request)
 {
     return new MyRepository().Update(uow, request);
 }