Ejemplo n.º 1
0
        public void AddOrUpdate(NoteDto noteDto)
        {
            if (noteDto == null)
            {
                throw new Exception("NoteDto NULL");
            }

            var entity = _context.Notes.
                         FirstOrDefault(x => x.Id == noteDto.Id);

            if (entity == null)
            {
                entity = new Note();
            }

            entity.text  = noteDto.text;
            entity.Title = noteDto.Title;


            if (entity.Id == 0)
            {
                entity.CreatedDate = DateTime.Now.ToUniversalTime();
            }

            // TODO set real creator
            if (entity.Id == 0)
            {
                DAL.Users.User creator = _userService.GetCurrentUser();

                entity.Creator = creator ?? throw new Exception("Creator user id null");
            }

            _userService.SetPasswordHashAndSaltUnModified(entity.Creator);

            if (entity.Id == 0)
            {
                _context.Notes.Add(entity);
            }

            if (noteDto.ParentNoteId.HasValue)
            {
                var parentNote = _context.Notes.FirstOrDefault(x => x.Id == noteDto.ParentNoteId.Value);

                if (parentNote != null)
                {
                    _userService.SetPasswordHashAndSaltUnModified(parentNote.Creator);
                    entity.Parent = parentNote;
                }
            }

            _context.SaveChanges();

            noteDto.Id = entity.Id;
        }
        public void AddUserRegistrationNotification(DAL.Users.User user)
        {
            var notification = new UserRegistrationNotification(_config);

            notification.ActivationKey = user.ActivationKey;
            notification.UserName      = user.Name;

            var entity = notification.GetNotificationEntity();

            entity.ReceiverEmail = user.Email;
            entity.State         = DAL.enums.EmailStateEnum.NotSent;

            _context.Notifications.Add(entity);
            _context.SaveChanges();
        }
Ejemplo n.º 3
0
        public void AddOrUpdate(PlanTaskDto taskForEdit)
        {
            //_context.ChangeTracker.LazyLoadingEnabled = false;
            //_context.ChangeTracker.AutoDetectChangesEnabled = false;

            if (taskForEdit == null)
            {
                throw new Exception("PlanTaskDto NULL");
            }

            var entity = _context.TasksAndTargets.Include(x => x.Creator).
                         FirstOrDefault(x => x.Id == taskForEdit.Id);

            if (entity == null)
            {
                entity = new PlanTask();
            }

            if (taskForEdit.makeReminder.HasValue)
            {
                if (taskForEdit.makeReminder.Value)
                {
                    entity.RemindAt = taskForEdit.RemindAt.ToUtc();
                }
                else
                {
                    entity.RemindAt = null;
                }
            }

            entity.IsTask = taskForEdit.IsTask;

            if (taskForEdit.ParentTaskId.HasValue)
            {
                var parentEntity = _context.TasksAndTargets.
                                   FirstOrDefault(x => x.Id == taskForEdit.ParentTaskId.Value);

                if (parentEntity != null)
                {
                    entity.Parent = parentEntity;
                }
            }

            entity.SelectedForToday = taskForEdit.SelectedForToday;
            entity.Status           = taskForEdit.Status;
            entity.Title            = taskForEdit.Title;
            entity.Description      = taskForEdit.Description;

            // Date changed - reset status
            if (entity.PlannedBeginDate != taskForEdit.PlannedBeginDate.ToUtc())
            {
                entity.PlannedDateProcessed = taskForEdit.PlannedDateProcessed = false;
            }

            entity.PlannedBeginDate     = taskForEdit.PlannedBeginDate.ToUtc();
            entity.PlannedDateProcessed = taskForEdit.PlannedDateProcessed;


            entity.Deadline = taskForEdit.Deadline.ToUtc();

            entity.CompleteDate = taskForEdit.CompleteDate.ToUtc();

            if (entity.Id == 0)
            {
                entity.CreatedDate = DateTime.Now.ToUniversalTime();
            }

            // TODO set real creator
            if (entity.Id == 0)
            {
                DAL.Users.User creator = _userService.GetCurrentUser();

                entity.Creator = creator ?? throw new Exception("Creator user id null");
            }

            _userService.SetPasswordHashAndSaltUnModified(entity.Creator);
            _context.Entry(entity.Creator).State = EntityState.Unchanged;

            bool taskOrTargetCreated = false;

            if (entity.Id == 0)
            {
                taskOrTargetCreated = true;
                _context.TasksAndTargets.Add(entity);
            }

            _context.SaveChanges();

            _activityService.LogUserActivity(entity,
                                             taskOrTargetCreated ? DAL.enums.ActionTypeEnum.Added : DAL.enums.ActionTypeEnum.Edited);

            taskForEdit.Id = entity.Id;
        }