public async Task <IHttpActionResult> PutPc(int id, PcM pc) { Pc updatedPC = db.Pcs.Find(pc.id); PcGroup updatedGroup = db.PcGroups.Find(id); if (updatedPC == null || updatedGroup == null) { return(Ok(new PcM { id = -1 })); } updatedPC.PcGroupID = id; try { await db.SaveChangesAsync(); return(Ok((PcM)updatedPC)); } catch (Exception) { return(Ok(new PcM { id = -1 })); } }
public async Task <IHttpActionResult> PutPcGroup(int id, PcGroupM pcGroup) { /* * Залваем существующую группу * Вычисляем группу по IP * Изменяем её параметры * Возвращаем инфу, получилось ли изменить */ PcGroup updatePc = db.PcGroups.Find(id); if (string.IsNullOrWhiteSpace(pcGroup.Name) || updatePc == null) { return(Ok(new PcGroupM())); } updatePc.Name = pcGroup.Name; try { await db.SaveChangesAsync(); return(Ok((PcGroupM)updatePc)); } catch (Exception e) { return(Ok(new PcGroupM())); } }
public async Task <IHttpActionResult> PostPcGroup(PcGroupM pcGroup) { /* * Получаем "новую группу" (хз про его имя) * Заливаем её в бд * Возвращаем новую гуппу с новым id * Если не фартануло, вернем id-1 * */ if (string.IsNullOrWhiteSpace(pcGroup.Name)) { return(Ok(new PcGroupM())); } PcGroup addedPcGroup = new PcGroup() { Name = pcGroup.Name }; db.PcGroups.Add(addedPcGroup); try { await db.SaveChangesAsync(); return(Ok((PcGroupM)addedPcGroup)); } catch (Exception) { return(Ok(new PcGroupM())); } }
public async Task <IHttpActionResult> DeletePcGroup(int id) { /* * * Получаем id группы * Убераем из неё все компы * Удаляем сам комп * Возващаем резульат выполнения * */ List <Pc> pcs = db.Pcs.Where(x => x.PcGroupID == id).ToList(); pcs.ForEach(x => { x.PcGroupID = 1; db.Entry(x).State = EntityState.Modified; }); PcGroup group = await db.PcGroups.FindAsync(id); db.PcGroups.Remove(group); try { await db.SaveChangesAsync(); return(Ok(new PcGroupM() { id = 1 }));; } catch (Exception) { return(Ok(new PcGroupM() { id = -1 }));; } }