void GetVisitas(TB_USUARIO userInfo) { var visitasIDs = new List <string>(); if (model.db.HasVisitasInDate(DateTime.Now, userInfo.ID)) { model.dbCache.UpdateCache(Cache.VISITAS_ATUALIZADAS, null, userInfo.ID); } try { var visitaCon = new PDVsRestCon(); var visitas = GetRest("api/mobile/funcionarios/" + userInfo.ID + "/visitas/" + DateTime.Now.ToString("yyyy-MM-dd"), Cache.VISITAS_ATUALIZADAS, userInfo, 3); GetProdutos(userInfo); GetSchemasForms(userInfo); var request = JsonConvert.DeserializeObject <PDVsRestModel>(visitas).result; foreach (PdvRestModel item in request) { if (item.formularios.Count > 0) { visitasIDs.Add(item.id); var isNewPDV = model.db.InsertVisitas(item.id, DateTime.Now, visitaCon.GetGEO_PT(item), item.lat, item.lng, item.formularios, userInfo.ID); if (isNewPDV) { idsPdvsNovos.Add(visitaCon.GetGEO_PT(item)); } } } } catch (Exception x) { if (!(x is NotModifiedException || x is TaskCanceledException)) { exceptionMessage = x.Message; } else if (x is InvalidLoginException) { exceptionMessage = x.Message; invalidException = (InvalidLoginException)x; throw x; } } model.db.ConluirVisitasNotInService(visitasIDs, userInfo.ID); }
void SendVisitaAtualizada(TB_USUARIO userInfo) { var controllerVisitasAtualizadas = new PDVsRestCon(); var pdvsIniciados = model.db.SelectPDVs(StatusAPI.INICIADO, userInfo.ID); var pdvsConcluidos = model.db.SelectPDVs(StatusAPI.CONCLUIDO, userInfo.ID); if (pdvsIniciados != null) { foreach (var pdvIniciado in pdvsIniciados) { var objSerialized = controllerVisitasAtualizadas.GetSerializeAndamento(pdvIniciado); PutRest("api/mobile/visitas/" + pdvIniciado.ID + "/iniciar", objSerialized, userInfo, 3); model.db.AtualizaVisitaNotificacao(pdvIniciado.ID); } } if (pdvsConcluidos != null) { foreach (var pdvIniciado in pdvsConcluidos) { PutRest("api/mobile/visitas/" + pdvIniciado.ID + "/concluir", userInfo, 3); model.db.AtualizaVisitaNotificacaoConcluido(pdvIniciado.ID); } } }