コード例 #1
0
        public void Raises_changing_event_before_change(bool useLazyLoading)
        {
            using var context = new ChangeContext <ChangeValueEntity>(useLazyLoading: useLazyLoading);
            var proxy = context.CreateProxy <ChangeValueEntity>();

            proxy.Value = 5;
            context.Add(proxy);
            context.SaveChanges();

            var eventRaised = false;

            ((INotifyPropertyChanging)proxy).PropertyChanging += (s, e) =>
            {
                eventRaised = true;

                Assert.Equal(proxy, s);

                Assert.Equal(
                    nameof(ChangeValueEntity.Value),
                    e.PropertyName);

                Assert.Equal(
                    5,
                    ((ChangeValueEntity)s).Value);
            };

            proxy.Value = 10;
            Assert.True(eventRaised);
        }
コード例 #2
0
        public BaseResponse SaveUserDetails(UserTable userDetails)
        {
            var result = new BaseResponse();

            userDetails.TimeStamp = DateTime.UtcNow;
            try
            {
                _context.UserTable.Add(userDetails);
                _context.SaveChanges();
                result.Success = true;
                result.Message = "OK";
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.InnerException.ToString();
            }
            return(result);
        }
コード例 #3
0
        public void Raises_changing_event_when_equal_and_check_equality_false(bool useLazyLoading)
        {
            using var context = new ChangeContext <ChangeValueEntity>(useLazyLoading: useLazyLoading, checkEquality: false);
            var proxy = context.CreateProxy <ChangeValueEntity>();

            proxy.Value = 10;
            context.Add(proxy);
            context.SaveChanges();

            var eventRaised = false;

            ((INotifyPropertyChanging)proxy).PropertyChanging += (s, e) =>
            {
                eventRaised = true;
            };

            proxy.Value = 10;
            Assert.True(eventRaised);
        }
コード例 #4
0
        public BaseResponse SaveChange(ChangeTable model, string userId)
        {
            var response = new BaseResponse();

            model.TimeStamp = DateTime.UtcNow;

            model.SearchTitle = model.Title.Replace(" ", "_");

            model.ViewCounter = 0;

            _context.Change.Add(model);

            var userChange = new UserChangeTable();

            int userInternalId = _context.UserTable.Where(x => x.AspNetUserId == userId).Single().Id;

            userChange.UserId = userInternalId;

            try {
                _context.SaveChanges();                  //TODO jugaad here use single save changes and make aspnetuserid as universal remove userinternalid == more optimised

                userChange.ChangeId = model.Id;

                _context.UserChangesTable.Add(userChange);

                _context.SaveChanges();

                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }