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); }
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()); }
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)); } }