Esempio n. 1
0
        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
                }));
            }
        }
Esempio n. 2
0
        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()));
            }
        }
Esempio n. 3
0
        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()));
            }
        }
Esempio n. 4
0
        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
                }));;
            }
        }