示例#1
0
        List <PcDrive> GetDrive()
        {
            List <PcDrive> ret = new List <PcDrive>();

            try
            {
                DriveInfo[] allDrives = DriveInfo.GetDrives();

                foreach (DriveInfo d in allDrives)
                {
                    PcDrive disk = new PcDrive();

                    disk.Drive     = d.Name;
                    disk.DriveType = d.DriveType.ToString();
                    if (d.IsReady == true)
                    {
                        disk.FileSystem    = d.DriveFormat;
                        disk.AvailabeSpace = d.TotalFreeSpace;
                        disk.TotalSize     = d.TotalSize;
                    }
                    ret.Add(disk);
                }
            }
            catch (Exception e)
            {
                SendLogs(e.ToString());
            }

            return(ret);
        }
示例#2
0
 public async Task <IHttpActionResult> PostPcDrive(PcDrive pcDrive)
 {
     /*
      * if (!ModelState.IsValid)
      * {
      *  return BadRequest(ModelState);
      * }
      *
      * db.PcDrives.Add(pcDrive);
      * await db.SaveChangesAsync();
      *
      * return CreatedAtRoute("DefaultApi", new { id = pcDrive.id }, pcDrive);
      */
     return(BadRequest());
 }
示例#3
0
        public async Task <IHttpActionResult> PutPcDrive(int id, List <PcDriveMA> pcDrive)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            /*
             * if (id != pcDrive.id)
             * {
             *  return BadRequest();
             * }
             */

            List <PcDrive> curetnPcDrive = db.PcDrives.Where(x => x.PcID == id).ToList();

            if (curetnPcDrive.Count == 0)
            {
                foreach (var item in pcDrive)
                {
                    PcDrive newDrive = new PcDrive();
                    newDrive.PcID          = id;
                    newDrive.Drive         = item.Drive;
                    newDrive.DriveType     = item.DriveType;
                    newDrive.FileSystem    = item.FileSystem;
                    newDrive.AvailabeSpace = (int)item.AvailabeSpace;
                    newDrive.TotalSize     = (int)item.TotalSize;

                    db.PcDrives.Add(newDrive);
                }
            }
            else if (curetnPcDrive.Count == pcDrive.Count)
            {
                for (int i = 0; i < curetnPcDrive.Count; i++)
                {
                    //curetnPcDrive[i].PcID = id;
                    curetnPcDrive[i].Drive           = pcDrive[i].Drive;
                    curetnPcDrive[i].DriveType       = pcDrive[i].DriveType;
                    curetnPcDrive[i].FileSystem      = pcDrive[i].FileSystem;
                    curetnPcDrive[i].AvailabeSpace   = (int)pcDrive[i].AvailabeSpace;
                    curetnPcDrive[i].TotalSize       = (int)pcDrive[i].TotalSize;
                    db.Entry(curetnPcDrive[i]).State = EntityState.Modified;
                }
            }
            else if (curetnPcDrive.Count < pcDrive.Count)
            {
                int i = 0;
                for (; i < curetnPcDrive.Count; i++)
                {
                    curetnPcDrive[i].Drive           = pcDrive[i].Drive;
                    curetnPcDrive[i].DriveType       = pcDrive[i].DriveType;
                    curetnPcDrive[i].FileSystem      = pcDrive[i].FileSystem;
                    curetnPcDrive[i].AvailabeSpace   = (int)pcDrive[i].AvailabeSpace;
                    curetnPcDrive[i].TotalSize       = (int)pcDrive[i].TotalSize;
                    db.Entry(curetnPcDrive[i]).State = EntityState.Modified;
                }
                for (; i < pcDrive.Count; i++)
                {
                    PcDrive newDrive = new PcDrive();
                    newDrive.PcID          = id;
                    newDrive.Drive         = pcDrive[i].Drive;
                    newDrive.DriveType     = pcDrive[i].DriveType;
                    newDrive.FileSystem    = pcDrive[i].FileSystem;
                    newDrive.AvailabeSpace = (int)pcDrive[i].AvailabeSpace;
                    newDrive.TotalSize     = (int)pcDrive[i].TotalSize;

                    db.PcDrives.Add(newDrive);
                }
            }
            else if (curetnPcDrive.Count > pcDrive.Count)
            {
                int i = 0;
                for (; i < pcDrive.Count; i++)
                {
                    curetnPcDrive[i].Drive           = pcDrive[i].Drive;
                    curetnPcDrive[i].DriveType       = pcDrive[i].DriveType;
                    curetnPcDrive[i].FileSystem      = pcDrive[i].FileSystem;
                    curetnPcDrive[i].AvailabeSpace   = (int)pcDrive[i].AvailabeSpace;
                    curetnPcDrive[i].TotalSize       = (int)pcDrive[i].TotalSize;
                    db.Entry(curetnPcDrive[i]).State = EntityState.Modified;
                }
                for (; i < curetnPcDrive.Count; i++)
                {
                    db.PcDrives.Remove(curetnPcDrive[i]);
                }
            }



            try
            {
                await db.SaveChangesAsync();

                return(StatusCode(HttpStatusCode.NoContent));
            }
            catch (Exception)
            {
                return(StatusCode(HttpStatusCode.InternalServerError));
            }
        }