예제 #1
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
 public void Apply(BudgetCreated evnt)
 {
     _id = evnt.BudgetId;
     _name = evnt.Name;
     _owner = evnt.Owner;
     _currencyISOCode = evnt.CurrencyISOCode;
 }
예제 #2
0
파일: Line.cs 프로젝트: valeriob/MyBudget
 public LineExpenseChanged(Guid id, DateTime timestamp, LineId lineId, BudgetId budgetId, UserId updatedBy, Expense expense)
 {
     Id = id;
     Timestamp = timestamp;
     LineId = lineId;
     BudgetId = budgetId;
     UpdatedBy = updatedBy;
     Expense = expense;
 }
예제 #3
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
 public BudgetCreated(Guid id, DateTime timestamp, BudgetId budgetId, string name, UserId owner, string currencyISOCode)
 {
     Id = id;
     Timestamp = timestamp;
     BudgetId = budgetId;
     Name = name;
     Owner = owner;
     CurrencyISOCode = currencyISOCode;
 }
예제 #4
0
파일: User.cs 프로젝트: valeriob/MyBudget
 public UserCreated(Guid id, DateTime timestamp, UserId userId, UserLoginInfo loginInfo, string userName, string password)
 {
     Id = id;
     Timestamp = timestamp;
     UserId = userId;
     LoginInfo = loginInfo;
     UserName = userName;
     Password = password;
 }
예제 #5
0
파일: Line.cs 프로젝트: valeriob/MyBudget
        public LineCreated(Guid id, DateTime timestamp, LineId lineId, BudgetId budgetId, UserId createdBy, Expense expense)
        {
            Id = id;
            Timestamp = timestamp;

            LineId = lineId;
            BudgetId = budgetId;
            Expense = expense;
            CreatedBy = createdBy;
        }
예제 #6
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //var userId = Thread.CurrentPrincipal.Identity.Name;

            var userId = User.Identity.GetUserId();

            var users = ProjectionManager.GetUsersList();
            //var task = users.FindByIdAsync(userId);
            //var user = task.Result;
            try
            {
                var user = users.FindById(userId);
                //if (user == null)
                //    throw new Exception("Utente non è riconosciuto dal sistema");

                _userId = new UserId(userId);
            }
            catch
            {

            }
        }
예제 #7
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
        public void AllowAccess(UserId fromUser, UserId allowedUserId)
        {
            if (_state.CanAllowAccess(fromUser) == false)
                throw new Exception("User cannot allow access to budget");

            RaiseEvent(new BudgetAccessAllowed(Guid.NewGuid(), DateTime.Now, new BudgetId(Id), allowedUserId));
        }
예제 #8
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
 public void Create(BudgetId id, string name, UserId owner, string currencyISOCode)
 {
     RaiseEvent(new BudgetCreated(Guid.NewGuid(), DateTime.Now, id, name, owner, currencyISOCode));
 }
예제 #9
0
파일: Line.cs 프로젝트: valeriob/MyBudget
 public LineMarkedObsolete(Guid id, DateTime timestamp, LineId lineId, BudgetId budget, UserId userId, LineId obsoletedFor)
 {
     Id = id;
     Timestamp = timestamp;
     LineId = lineId;
     BudgetId = budget;
     UserId = userId;
     ObsoletedFor = obsoletedFor;
 }
예제 #10
0
파일: User.cs 프로젝트: valeriob/MyBudget
 public UserPasswordChanged(Guid id, DateTime timestamp, UserId userId, string password)
 {
     Id = id;
     Timestamp = timestamp;
     UserId = userId;
     Password = password;
 }
예제 #11
0
파일: Line.cs 프로젝트: valeriob/MyBudget
        public void Create(LineId id, BudgetId budgetId, Expense expense, UserId createdBy)
        {
            if (string.IsNullOrEmpty(Id) == false)
                throw new Exception("line already exists");

            RaiseEvent(new LineCreated(Guid.NewGuid(), DateTime.Now, id, budgetId, createdBy, expense));
        }
예제 #12
0
 public IEnumerable<Budget> GetBudgetsUserCanView(UserId userId)
 {
     return _budgets.Values.Where(b => b.CanRead(userId));
 }
예제 #13
0
 internal bool CanRead(UserId userId)
 {
     return _allowedUsers.Contains(userId.ToString());
 }
예제 #14
0
파일: User.cs 프로젝트: valeriob/MyBudget
 public UserLoginAdded(Guid id, DateTime timestamp, UserId userId, UserLoginInfo loginInfo)
 {
     Id = id;
     Timestamp = timestamp;
     UserId = userId;
     LoginInfo = loginInfo;
 }
예제 #15
0
파일: User.cs 프로젝트: valeriob/MyBudget
        public void Create(UserId userId, UserLoginInfo loginInfo, string userName, string password)
        {
            if (string.IsNullOrEmpty(Id) == false)
                throw new Exception("User already exists");

            RaiseEvent(new UserCreated(Guid.NewGuid(), DateTime.Now, userId, loginInfo, userName, password));
        }
예제 #16
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
 public bool CanAllowAccess(UserId userId)
 {
     return _owner.Equals(userId);
 }
예제 #17
0
파일: Line.cs 프로젝트: valeriob/MyBudget
        public void Update(Expense expense, UserId updatedBy)
        {
            if (string.IsNullOrEmpty(Id))
                throw new Exception("line does not exists");

            RaiseEvent(new LineExpenseChanged(Guid.NewGuid(), DateTime.Now, _state.GetLineId(), _state.GetBudgetId(), updatedBy, expense));
        }
예제 #18
0
파일: Budget.cs 프로젝트: valeriob/MyBudget
 public BudgetAccessAllowed(Guid id, DateTime timestamp, BudgetId budgetId, UserId allowedUserId)
 {
     Id = id;
     Timestamp = timestamp;
     BudgetId = budgetId;
     AllowedUserId = allowedUserId;
 }
예제 #19
0
파일: Line.cs 프로젝트: valeriob/MyBudget
        public void MarkObsolete(UserId userId, LineId obsoletedFor)
        {
            if (string.IsNullOrEmpty(Id) == false)
                throw new Exception("line does not exists");

            RaiseEvent(new LineMarkedObsolete(Guid.NewGuid(), DateTime.Now, _state.GetLineId(), _state.GetBudgetId(), userId, obsoletedFor));
        }