public async Task <ActionResult> ChangePage(int?numberOfType, int?namberOfPeage) { var listLetters = new List <ITypesOfLetter>(); var userId = WebSecurity.CurrentUserId; if (numberOfType != null && numberOfType < 3) { using (var db = new DataBaseContext()) { listLetters = await db.listTypesOfLetter[(int)numberOfType].Where(x => x.OrderUser.Id == userId).OrderByDescending(x => x.Data).ToListAsync(); } } return(Content(CustomHelperMetods.MyGrid(listLetters, namberOfPeage.ToString()))); }
public async Task <ActionResult> DeleteAllSelected(int[] arrayIdOfLetters, int?numberOfType, int?namberOfPeage) { var listLetters = new List <ITypesOfLetter>(); if (arrayIdOfLetters != null) { var userId = WebSecurity.CurrentUserId; using (var db = new DataBaseContext()) { if (numberOfType != null && numberOfType < 3) { var listTypeOfLetter = await(db.listTypesOfLetter[(int)numberOfType] .Join(arrayIdOfLetters, x => x.Id, y => y, (x, y) => x) .Where(x => x.OrderUser.Id == userId)) .Include(x => x.LetterForDB).ToListAsync(); if (listTypeOfLetter != null) { foreach (var typeOfLetter in listTypeOfLetter) { typeOfLetter.LetterForDB.NumberOfOwners--; if (typeOfLetter.LetterForDB.NumberOfOwners == 0) { db.Entry(typeOfLetter.LetterForDB).State = EntityState.Deleted; } else { db.Entry(typeOfLetter.LetterForDB).State = EntityState.Modified; } db.Entry(typeOfLetter).State = EntityState.Deleted; } } } db.SaveChanges(); listLetters = await db.listTypesOfLetter[(int)numberOfType].Where(x => x.OrderUser.Id == userId).OrderByDescending(x => x.Data).ToListAsync(); } } return(Content(CustomHelperMetods.MyGrid(listLetters, namberOfPeage.ToString()))); }