public Model.UploadLogModel InsertUploadLogServer(Model.UploadLogModel uploadLog)
        {
            Model.UploadLogModel res;
            using (var entity = new db_SeguimientoProtocolo_r2Entities())
            {
                CAT_UPLOAD_LOG ull = new CAT_UPLOAD_LOG()
                {
                    IdUploadLog = new UNID().getNewUNID(),
                    IdUsuario = uploadLog.IdUsuario,
                    IpDir = uploadLog.IpDir,
                    Msg = uploadLog.Msg,
                    PcName = uploadLog.PcName
                };
                entity.CAT_UPLOAD_LOG.AddObject(ull);
                entity.SaveChanges();

                res = new Model.UploadLogModel()
                {
                    IdUploadLog = ull.IdUploadLog,
                    IdUsuario = ull.IdUsuario,
                    IpDir = ull.IpDir,
                    Msg = ull.Msg,
                    PcName = ull.PcName
                };
                return res;

            }
        }
Ejemplo n.º 2
0
 public void ResetSyncDummy()
 {
     using (var entity = new db_SeguimientoProtocolo_r2Entities())
     {
         try
         {
             var modified = entity.CAT_SYNC.First(p => p.IdSycn == 20120101000000000);
             modified.ActualDate = 0;
             entity.SaveChanges();
         }
         catch (Exception)
         {
             ;
         }
     }
 }
        public void UpdateServerLastDataServer()
        {
            try
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {

                    var modified = entity.CAT_SERVER_LASTDATA.First(p => p.IdServerLastData == 20120101000000000);

                    TimeZoneInfo mexZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time (Mexico)");
                    DateTime utc = DateTime.UtcNow;
                    DateTime convertMex = TimeZoneInfo.ConvertTimeFromUtc(utc, mexZone);

                    modified.ActualDate = new UNID().GetNewUNIDServer(convertMex);
                    entity.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ;
            }
        }
        public List<Model.ListUnidsModel> LoadSyncServer(ObservableCollection<Model.PuntoMedicionModel> puntoMedicion)
        {
            List<ListUnidsModel> ListEvidencia = new List<ListUnidsModel>();
            if (puntoMedicion != null)
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {
                    foreach (Model.PuntoMedicionModel item in puntoMedicion)
                    {
                        var query = (from cust in entity.CAT_PUNTO_MEDICION
                                     where cust.IdPuntoMedicion == item.IdPuntoMedicion
                                     select cust).ToList();
                        //Actualización
                        if (query.Count > 0)
                        {
                            // compara la fecha mas actual si es mayor la local que la servidor actualiza
                            var local = query.First();
                            if (local.LastModifiedDate < item.LastModifiedDate)
                                UpdatePuntoMedicionSyncServer(item, entity);

                        }
                        //Inserción
                        else
                            InsertPuntoMedicionSyncServer(item, entity);

                        //resetea la bandera en le servidor de IsModified a false
                        var modified = entity.CAT_PUNTO_MEDICION.First(p => p.IdPuntoMedicion == item.IdPuntoMedicion);
                        modified.IsModified = false;

                        //obtiene la evidencia que se inserto correctamente el registro
                        ListEvidencia.Add(new ListUnidsModel() { IdTypeTable = item.IdPuntoMedicion, LastModifiedDate = item.LastModifiedDate });
                    }
                    entity.SaveChanges();
                }
            }
            //valida que la lista tenga datos
            if (ListEvidencia.Count > 0)
                return ListEvidencia;
            else
                return null;
        }
        public List<Model.ListUnidsModel> LoadSyncServer(System.Collections.ObjectModel.ObservableCollection<Model.EstructuraDependenciaModel> estructuraDependencia)
        {
            List<ListUnidsModel> ListEvidencia = new List<ListUnidsModel>();
            if (estructuraDependencia != null)
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {
                    foreach (Model.EstructuraDependenciaModel item in estructuraDependencia)
                    {
                        var query = (from cust in entity.REL_ESTRUCTURA_DEPENDENCIA
                                     where item.IdEstructuraDependencia == cust.IdEstructuraDependencia
                                     select cust).ToList();
                        //Actualización
                        if (query.Count > 0)
                        {
                            // compara la fecha mas actual si es mayor la local que la servidor actualiza
                            var local = query.First();
                            if (local.LastModifiedDate < item.LastModifiedDate)
                                UpdateEstructuraDependenciasSyncServer(item, entity);

                        }
                        //Inserción
                        else
                            InsertEstructuraDependenciasSyncServer(item, entity);
                        //resetea la bandera en le servidor de IsModified a false
                        var modified = entity.REL_ESTRUCTURA_DEPENDENCIA.First(p => p.IdEstructuraDependencia == item.IdEstructuraDependencia);
                        modified.IsModified = false;

                        //obtiene la evidencia que se inserto correctamente el registro
                        ListEvidencia.Add(new ListUnidsModel() { IdTypeTable = item.IdEstructuraDependencia, LastModifiedDate = item.LastModifiedDate });
                    }
                    entity.SaveChanges();
                }
            }
            //valida que la lista tenga datos
            if (ListEvidencia.Count > 0)
                return ListEvidencia;
            else
                return null;
        }
        public List<Model.ListUnidsModel> LoadSyncServer(ObservableCollection<Model.RegistroModel> registros)
        {
            List<ListUnidsModel> ListEvidencia = new List<ListUnidsModel>();
            if (registros != null)
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {
                    foreach (Model.RegistroModel item in registros)
                    {
                        //Modificacion ICA
                        CI_REGISTRO result = null;
                        try
                        {
                            result = ( from o in entity.CI_REGISTRO
                                       where o.IdRegistro == item.IdRegistro
                                       select o ).First();
                        }
                        catch (Exception)
                        {
                            try
                            {
                                result = ( from o in entity.CI_REGISTRO
                                           where o.IdPuntoMedicion == item.PUNTOMEDICION.IdPuntoMedicion &&
                                                 o.HoraRegistro == item.HoraRegistro &&
                                                 ( o.FechaCaptura.Month == item.FechaCaptura.Month &&
                                                  o.FechaCaptura.Day == item.FechaCaptura.Day &&
                                                  o.FechaCaptura.Year == item.FechaCaptura.Year )
                                           select o ).First();
                            }
                            catch (Exception)
                            {
                                ;
                            }
                        }
                        //var query = (from cust in entity.CI_REGISTRO
                        //             where cust.IdRegistro == item.IdRegistro
                        //             select cust).ToList();
                        ////Actualización
                        //if (query.Count > 0)
                        //{
                        //    // compara la fecha mas actual si es mayor la local que la servidor actualiza
                        //    var local = query.First();
                        //    if (local.LastModifiedDate < item.LastModifiedDate)
                        //        UpdateRegistroSyncServer(item, entity);

                        //}
                        ////Inserción
                        //else
                        //    InsertRegistroSyncServer(item, entity);
                        if (result == null)
                        {
                            InsertRegistroSyncServer(item, entity);
                        }
                        if (result != null)
                        {
                            var local = result.LastModifiedDate;
                            if (local < item.LastModifiedDate)
                                UpdateRegistroSyncServer(item, entity);
                        }
                        //resetea la bandera en le servidor de IsModified a false
                        var modified = entity.CI_REGISTRO.First(p => p.IdRegistro == item.IdRegistro);
                        modified.IsModified = false;

                        //obtiene la evidencia que se inserto correctamente el registro
                        ListEvidencia.Add(new ListUnidsModel() { IdTypeTable = item.IdRegistro, LastModifiedDate = item.LastModifiedDate });
                    }
                    entity.SaveChanges();
                }
            }
            //valida que la lista tenga datos
            if (ListEvidencia.Count > 0)
                return ListEvidencia;
            else
                return null;
        }
        public List<CiTrackingUploadConfirmationModel> Upsert(List<TrackingModel> items)
        {
            List<CiTrackingUploadConfirmationModel> result = new List<CiTrackingUploadConfirmationModel>();
            long ServerLastModified = (long.Parse(String.Format("{0:yyyyMMddHHmmsss}", DateTime.Now)));
            try
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {
                    (from tmp in items
                     select tmp).ToList().ForEach(row =>
                     {
                         CI_TRACKING exist = null;
                         try
                         {
                             exist = (from res in entity.CI_TRACKING
                                      where res.IdTracking == row.IdTracking
                                      select res).First();
                         }
                         catch (Exception ex)
                         {
                         }
                         if (exist == null)
                         {
                             entity.CI_TRACKING.AddObject(new CI_TRACKING()
                             {
                                 IdTracking = row.IdTracking,
                                 Accion = row.Accion,
                                 Valor = row.Valor,
                                 Ip = row.Ip,
                                 Equipo = row.Equipo,
                                 Ubicacion = row.Ubicacion,
                                 IdUsuario = row.IdUsuario,
                                 ServerLastModifiedDate = ServerLastModified,
                                 LastModifiedDate = row.LastModifiedDate,
                                 IdPuntoMedicion = row.IdPuntoMedicion,
                                 FechaNumerica = row.FechaNumerica
                             });
                         }
                         else
                         {
                             exist.Accion = row.Accion;
                             exist.Valor = row.Valor;
                             exist.Ip = row.Ip;
                             exist.Equipo = row.Equipo;
                             exist.Ubicacion = row.Ubicacion;
                             exist.IdUsuario = row.IdUsuario;
                             exist.ServerLastModifiedDate = ServerLastModified;
                             exist.LastModifiedDate = row.LastModifiedDate;
                             exist.IdPuntoMedicion = row.IdPuntoMedicion;
                             exist.FechaNumerica = row.FechaNumerica;
                         }
                         result.Add(new CiTrackingUploadConfirmationModel()
                         {
                             IdTracking = row.IdTracking,
                             SLMD = ServerLastModified
                         });
                     });
                    entity.SaveChanges();
                }
            }
            catch (Exception ex)
            {

            }
            return result;
        }