private InstalledModel SendInstalledPrograms() { InstalledModel im = new InstalledModel(); im.token = token; im.InstalledProgramsViewModel = InstalledPrograms.GetInstalledPrograms(); return(im); }
public HttpResponseMessage SaveIntalledPrograms(InstalledModel t) { aAutomaticTakeTime s = new aAutomaticTakeTime(); return(ut.ReturnResponse(s.SaveIntalledPrograms(t))); }
//CREA LOS PROGRAMAS QUE TIENN LOS USUARIOS INSTALADOS EN SUS MAQUINAS, SI YA NO LOS TIENE LOS MARCA COMO DESACTIVADOS public object SaveIntalledPrograms(InstalledModel o) { Response rp = new Response(); try { cp = tvh.getprincipal(Convert.ToString(o.token)); if (cp != null) { string empresa = cp.Claims.Where(c => c.Type == ClaimTypes.GroupSid).Select(c => c.Value).SingleOrDefault(); List <InstalledProgramsViewModel> livm = new List <InstalledProgramsViewModel>(); foreach (var i in o.InstalledProgramsViewModel) { InstalledProgramsViewModel ivm = new InstalledProgramsViewModel(); i.IdCompany = empresa.ToString(); Copier.CopyPropertiesTo(i, ivm); livm.Add(ivm); } ; if (livm.Count() > 0) { List <InstalledProgramsViewModel> installed = opc.GetSoftWare(empresa.ToString(), livm[0].Pc); foreach (var i in installed) { //paso 1, validar las que ya estan en base de datos, para agregar las que no InstalledProgramsViewModel ipvm = livm.Where(l => l.Name == i.Name && l.Vertion == i.Vertion).FirstOrDefault(); //si no esta en la lista que viene del monitor, es porque se desinstalo if (ipvm == null) { opc.UpdateSotfware(i); } else { livm.Remove(ipvm); } } if (livm.Count() > 0) { opc.AddSoftware(livm); } rp.response_code = GenericErrors.SaveOk.ToString(); } else { //token invalido rp = autil.ReturnMesagge(ref rp, (int)GenericErrors.InvalidToken, string.Empty, null, HttpStatusCode.OK); return(rp); } return(rp); } } catch (Exception ex) { rp = autil.ReturnMesagge(ref rp, (int)GenericErrors.GeneralError, ex.Message + " " + ex.InnerException, null, HttpStatusCode.InternalServerError); return(rp); } return(rp); }