public void AddNewCard(string currentDeck)
        {
            if (!DeckLoaded(currentDeck))
            {
                return;
            }
            var addCardForm = new AddCardForm(currentDeck);

            addCardForm.ShowDialog();
        }
示例#2
0
        public async static Task <Card> AddCard(this ProjectContext db, string userEmail, AddCardForm form)
        {
            var user = await db.Users.FirstOrDefaultAsync(x => x.Email.Equals(userEmail, StringComparison.OrdinalIgnoreCase));

            if (user == null)
            {
                _code = ControllerErrorCode.UserNotFound;
                return(null);
            }

            var role = await db.Roles.Include(y => y.Project).FirstOrDefaultAsync(x => x.Project.Id == form.ProjectId && x.User == user);

            if (role == null || role.Type != ProjectUserRole.ProjectManager)
            {
                _code = ControllerErrorCode.PermissionsDenied;
                return(null);
            }

            var column = await db.Columns.FirstOrDefaultAsync(x => x.Project.Id == form.ProjectId && x.Id == form.ColumnId);

            if (column == null)
            {
                _code = ControllerErrorCode.SprintNotFound;
                return(null);
            }


            var card = new Card
            {
                Column = column,
                Text   = form.Name
            };

            await db.Cards.AddAsync(card);

            await db.SaveChangesAsync();

            return(card);
        }