public void DeleteExpediente(IEnumerable<Model.ExpedienteModel> expedientes)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.ExpedienteModel p in expedientes)
                {
                    GET_EXPEDIENTE result = null;
                    try
                    {
                        result = (from o in entity.GET_EXPEDIENTE
                                  where o.IdExpediente == p.IdExpediente
                                  select o).First();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("GET_EXPEDIENTE", entity);
            }
        }
        public void DeleteDocumentos(IEnumerable<Model.DocumentosModel> documentos)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.DocumentosModel p in documentos)
                {
                    GET_DOCUMENTOS result = null;
                    try
                    {
                        result = (from o in entity.GET_DOCUMENTOS
                                  where o.IdDocumento == p.IdDocumento
                                  select o).First();
                    }
                    catch (Exception)
                    {
                        ;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("GET_DOCUMENTOS", entity);
            }
        }
        public void DeleteDestinatarioCcp(IEnumerable<Model.DestinatarioCcpModel> destinatariosCcp)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.DestinatarioCcpModel p in destinatariosCcp)
                {
                    REL_DESTINATARIO_CCP result = null;
                    try
                    {
                        result = (from o in entity.REL_DESTINATARIO_CCP
                                  where o.IdDestinatarioCcp == p.IdDestinatarioCcp
                                  select o).First();
                    }
                    catch (Exception)
                    {
                        ;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }

                entity.SaveChanges();

                UpdateSyncLocal("REL_DESTINATARIO_CCP", entity);
            }
        }
        public void DeleteStatusAsunto(IEnumerable<Model.StatusAsuntoModel> statusasuntos)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.StatusAsuntoModel p in statusasuntos)
                {
                    CAT_STATUS_ASUNTO result = null;
                    try
                    {
                        result = (from o in entity.CAT_STATUS_ASUNTO
                                  where o.IdStatusAsunto == p.IdStatusAsunto
                                  select o).First();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
            }
        }
        public void DeleteTipoDeterminante(IEnumerable<Model.TipoDeterminanteModel> tipodeterminantes)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.TipoDeterminanteModel p in tipodeterminantes)
                {
                    CAT_TIPO_DETERMINANTE result = null;
                    try
                    {
                        result = (from o in entity.CAT_TIPO_DETERMINANTE
                                  where o.IdTipoDeterminante == p.IdTipoDeterminante
                                  select o).First();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
            }
        }
        public void DeleteTurno(IEnumerable<Model.TurnoModel> turnos)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.TurnoModel p in turnos)
                {
                    GET_TURNO result = null;
                    try
                    {
                        result = (from o in entity.GET_TURNO
                                  where o.IdTurno == p.IdTurno
                                  select o).First();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("GET_TURNO", entity);
            }
        }
        public void DeleteSignatario(IEnumerable<Model.SignatarioModel> signatarios)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.SignatarioModel p in signatarios)
                {
                    REL_SIGNATARIO result = null;
                    try
                    {
                        result = (from o in entity.REL_SIGNATARIO
                                  where o.IdSignatario == p.IdSignatario
                                  select o).First();
                    }
                    catch (Exception)
                    {
                    }

                    if (result != null)
                    {
                        result.IsActive = false;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("REL_SIGNATARIO", entity);
            }
        }
        public void UpdateStatusAsunto(Model.StatusAsuntoModel statusasunto)
        {
            using (var entity = new GestorDocumentEntities())
            {
                CAT_STATUS_ASUNTO result = null;
                try
                {
                    result = (from o in entity.CAT_STATUS_ASUNTO
                              where o.IdStatusAsunto == statusasunto.IdStatusAsunto
                              select o).First();
                }
                catch (Exception ex)
                {
                    ;
                }

                if (result != null)
                {
                    result.StatusName = statusasunto.StatusName;
                    result.IsModified = true;
                    result.LastModifiedDate = new UNID().getNewUNID();

                    entity.SaveChanges();
                }
            }
        }
        public void InsertStatusAsunto(Model.StatusAsuntoModel statusasunto)
        {
            using (var entity = new GestorDocumentEntities())

                if (statusasunto != null)
                {
                    //Validar si el elemento ya existe
                    CAT_STATUS_ASUNTO result = null;
                    try
                    {
                        result = (from o in entity.CAT_STATUS_ASUNTO
                                  where o.IdStatusAsunto == statusasunto.IdStatusAsunto
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.CAT_STATUS_ASUNTO.AddObject(
                            new CAT_STATUS_ASUNTO()
                            {
                                IdStatusAsunto = statusasunto.IdStatusAsunto,
                                StatusName = statusasunto.StatusName.Trim(),
                                IsActive = true,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );

                        entity.SaveChanges();
                    }

                }
        }
        public void UpdateTipoDeterminante(Model.TipoDeterminanteModel tipodeterminante)
        {
            using (var entity = new GestorDocumentEntities())
            {
                CAT_TIPO_DETERMINANTE result = null;
                try
                {
                    result = (from o in entity.CAT_TIPO_DETERMINANTE
                              where o.IdTipoDeterminante == tipodeterminante.IdTipoDeterminante
                              select o).First();
                }
                catch (Exception ex)
                {
                    ;
                }

                if (result != null)
                {
                    result.TipoDeterminanteName = tipodeterminante.TipoDeterminanteName;
                    result.IsModified = true;
                    result.LastModifiedDate = new UNID().getNewUNID();

                    entity.SaveChanges();
                }
            }
        }
        public void InsertDocumentos(Model.DocumentosModel documento)
        {
            using (var entity = new GestorDocumentEntities())

                if (documento != null)
                {
                    //Validar si el elemento ya existe
                    GET_DOCUMENTOS result = null;
                    try
                    {
                        result = (from o in entity.GET_DOCUMENTOS
                                  where o.IdDocumento == documento.IdDocumento
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.GET_DOCUMENTOS.AddObject(
                            new GET_DOCUMENTOS()
                            {
                                IdDocumento = documento.IdDocumento,
                                DocumentoName = documento.DocumentoName,
                                DocumentoPath = documento.DocumentoPath,
                                Extencion = documento.Extencion,
                                IsActive = documento.IsActive,
                                LastModifiedDate = new UNID().getNewUNID(),
                                IdTurno = documento.IdTurno,
                                Fecha = documento.Fecha,
                                IdExpediente = documento.IdExpediente,
                                IdTipoDocumento = documento.TipoDocumento.IdTipoDocumento,
                                IsDocumentoOriginal = documento.IsDocumentoOriginal
                            }
                        );

                        entity.SaveChanges();
                        UpdateSyncLocal("GET_DOCUMENTOS", entity);
                    }

                }
        }
        public void InsertDestinatarioCcp(IEnumerable<Model.DestinatarioCcpModel> destinatariosCcp)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.DestinatarioCcpModel p in destinatariosCcp)
                {
                    REL_DESTINATARIO_CCP result = null;
                    try
                    {
                        result = (from o in entity.REL_DESTINATARIO_CCP
                                  where o.IdDestinatarioCcp == p.IdDestinatarioCcp
                                  select o).First();
                    }
                    catch (Exception)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.REL_DESTINATARIO_CCP.AddObject(
                            new REL_DESTINATARIO_CCP()
                            {
                                IdDestinatarioCcp = p.IdDestinatarioCcp
                                ,
                                IdRol = p.IdRol
                                ,
                                IdAsunto = p.IdAsunto
                                ,
                                IsActive = p.IsActive
                                ,
                                IsModified = true
                                ,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );
                    }
                }

                entity.SaveChanges();

                UpdateSyncLocal("REL_DESTINATARIO_CCP", entity);
            }
        }
        public void UpdateTurno(Model.TurnoModel turno)
        {
            using (var entity = new GestorDocumentEntities())
            {
                GET_TURNO result = null;
                try
                {
                    result = (from o in entity.GET_TURNO
                              where o.IdTurno == turno.IdTurno
                              select o).First();
                }
                catch (Exception ex)
                {
                    ;
                }

                if (result != null)
                {
                    result.IdTurnoAnt = turno.IdTurnoAnt;
                    result.FechaCreacion = turno.FechaCreacion;
                    result.FechaEnvio = turno.FechaEnvio;
                    result.IsActive = turno.IsActive;
                    result.LastModifiedDate = new UNID().getNewUNID();
                    result.IsModified = true;
                    result.IdAsunto = turno.IdAsunto;
                    result.IdStatusTurno = turno.IdStatusTurno;
                    result.IdRol = turno.IdRol;
                    result.IdUsuario = turno.IdUsuario;
                    result.Comentario =  (!string.IsNullOrWhiteSpace(turno.Comentario)) ? turno.Comentario.Trim():null;
                    result.Respuesta = (!string.IsNullOrWhiteSpace(turno.Respuesta)) ? turno.Respuesta.Trim() : null;
                    result.IsAtendido =turno.IsAtendido;
                    result.IsTurnado = turno.IsTurnado;
                    result.IsBorrador = turno.IsBorrador;
                    entity.SaveChanges();
                    UpdateSyncLocal("GET_TURNO", entity);
                }
            }
        }
        public void InsertTurno(IEnumerable<Model.TurnoModel> turnos)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.TurnoModel p in turnos)
                {
                    GET_TURNO result = null;
                    try
                    {
                        result = (from o in entity.GET_TURNO
                                  where o.IdTurno == p.IdTurno
                                  select o).First();
                    }
                    catch (Exception)
                    {
                        ;
                    }
                    if (result == null)
                    {
                        entity.GET_TURNO.AddObject(
                            new GET_TURNO()
                            {
                                IdTurno = p.IdTurno,
                                IdTurnoAnt = p.IdTurnoAnt,
                                FechaCreacion = p.FechaCreacion,
                                FechaEnvio = p.FechaEnvio,
                                IsActive = p.IsActive,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID(),
                                IdAsunto = p.IdAsunto,
                                IdStatusTurno = p.IdStatusTurno,
                                IdRol = p.IdRol,
                                IdUsuario = p.IdUsuario,
                                Comentario = (!string.IsNullOrWhiteSpace(p.Comentario)) ? p.Comentario.Trim() : null,
                                Respuesta = (!string.IsNullOrWhiteSpace(p.Respuesta)) ? p.Respuesta.Trim() : null,
                                IsAtendido = p.IsAtendido,
                                IsTurnado = p.IsTurnado,
                                IsBorrador = p.IsBorrador,
                                ServerLastModifiedDate = 0

                            }
                        );
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("GET_TURNO", entity);
            }
        }
        public void InsertTurno(Model.TurnoModel turno)
        {
            using (var entity = new GestorDocumentEntities())

                if (turno != null)
                {
                    //Validar si el elemento ya existe
                    GET_TURNO result = null;
                    try
                    {
                        result = (from o in entity.GET_TURNO
                                  where o.IdTurno == turno.IdTurno
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.GET_TURNO.AddObject(
                            new GET_TURNO()
                            {
                                IdTurno = turno.IdTurno,
                                IdTurnoAnt = turno.IdTurnoAnt,
                                FechaCreacion = turno.FechaCreacion,
                                FechaEnvio = turno.FechaEnvio,
                                IsActive = turno.IsActive,
                                IsModified =true,
                                LastModifiedDate = new UNID().getNewUNID(),
                                IdAsunto = turno.IdAsunto,
                                IdStatusTurno = turno.IdStatusTurno,
                                IdRol = turno.IdRol,
                                IdUsuario = turno.IdUsuario,
                                Comentario =(!string.IsNullOrWhiteSpace(turno.Comentario)) ? turno.Comentario.Trim() : null,
                                Respuesta = (!string.IsNullOrWhiteSpace(turno.Respuesta)) ? turno.Respuesta.Trim() : null,
                                IsAtendido =turno.IsAtendido,
                                IsTurnado = turno.IsTurnado,
                                IsBorrador = turno.IsBorrador,
                                ServerLastModifiedDate = 0
                            }
                        );

                        entity.SaveChanges();
                        UpdateSyncLocal("GET_TURNO", entity);
                    }

                }
        }
        public void UpdateDocumentos(Model.DocumentosModel documento)
        {
            using (var entity = new GestorDocumentEntities())
            {
                GET_DOCUMENTOS result = null;
                try
                {
                    result = (from o in entity.GET_DOCUMENTOS
                              where o.IdDocumento == documento.IdDocumento
                              select o).First();
                }
                catch (Exception ex)
                {
                    ;
                }

                if (result != null)
                {
                    result.IdDocumento = documento.IdDocumento;
                    result.DocumentoName = documento.DocumentoName;
                    result.DocumentoPath = documento.DocumentoPath;
                    result.Extencion = documento.Extencion;
                    result.IsModified = true;
                    result.LastModifiedDate = new UNID().getNewUNID();
                    result.IdTurno = documento.IdTurno;
                    result.Fecha = documento.Fecha;
                    result.IdExpediente = documento.IdExpediente;
                    result.IdTipoDocumento = documento.TipoDocumento.IdTipoDocumento;

                    entity.SaveChanges();
                    UpdateSyncLocal("GET_DOCUMENTOS", entity);
                }
            }
        }
        public void InsertDocumentos(IEnumerable<Model.DocumentosModel> documentos)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.DocumentosModel p in documentos)
                {
                    GET_DOCUMENTOS result = null;
                    try
                    {
                        result = (from o in entity.GET_DOCUMENTOS
                                  where o.IdDocumento == p.IdDocumento
                                  select o).First();
                    }
                    catch (Exception)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.GET_DOCUMENTOS.AddObject(
                            new GET_DOCUMENTOS()
                            {
                                IdDocumento = p.IdDocumento,
                                DocumentoName = p.DocumentoName,
                                DocumentoPath = p.DocumentoPath,
                                Extencion = p.Extencion,
                                IsActive = p.IsActive,
                                LastModifiedDate = new UNID().getNewUNID(),
                                IsModified = true,
                                IdTurno = p.IdTurno,
                                Fecha = p.Fecha,
                                IdExpediente = p.IdExpediente,
                                IdTipoDocumento = p.TipoDocumento.IdTipoDocumento,
                                IsDocumentoOriginal = p.IsDocumentoOriginal
                            }
                        );

                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("GET_DOCUMENTOS", entity);
            }
        }
        public void UpdateSignatario(IEnumerable<Model.SignatarioModel> signatarios)
        {
            using (var entity = new GestorDocumentEntities())
            {
                foreach (Model.SignatarioModel p in signatarios)
                {
                    REL_SIGNATARIO result = null;
                    try
                    {
                        result = (from o in entity.REL_SIGNATARIO
                                  where o.IdSignatario == p.IdSignatario
                                  select o).First();
                    }
                    catch (Exception)
                    {

                        throw;
                    }

                    if (result != null)
                    {
                        entity.REL_SIGNATARIO.AddObject(
                            new REL_SIGNATARIO()
                            {
                                IdSignatario = p.IdSignatario,
                                IdAsunto = p.Asunto.IdAsunto,
                                IdDeterminante = p.Determinante.IdDeterminante,
                                Fecha = p.Fecha,
                                IsActive = true,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );
                    }
                }
                entity.SaveChanges();
                UpdateSyncLocal("REL_SIGNATARIO", entity);
            }
        }
        public void InsertExpediente(Model.ExpedienteModel expediente)
        {
            using (var entity = new GestorDocumentEntities())

                if (expediente != null)
                {
                    //Validar si el elemento ya existe
                    GET_EXPEDIENTE result = null;
                    try
                    {
                        result = (from o in entity.GET_EXPEDIENTE
                                  where o.IdExpediente == expediente.IdExpediente
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.GET_EXPEDIENTE.AddObject(
                            new GET_EXPEDIENTE()
                            {
                                IdExpediente = expediente.IdExpediente,
                                IdAsunto = expediente.Asunto.IdAsunto,
                                IsActive = true,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );

                        entity.SaveChanges();
                        UpdateSyncLocal("GET_EXPEDIENTE", entity);
                    }

                }
        }
        public void InsertDestinatarioCcp(Model.DestinatarioCcpModel destinatarioCcp)
        {
            using (var entity = new GestorDocumentEntities())

                if (destinatarioCcp != null)
                {
                    //Validar si el elemento ya existe
                    REL_DESTINATARIO_CCP result = null;
                    try
                    {
                        result = (from o in entity.REL_DESTINATARIO_CCP
                                  where o.IdDestinatarioCcp == destinatarioCcp.IdDestinatarioCcp
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.REL_DESTINATARIO_CCP.AddObject(
                            new REL_DESTINATARIO_CCP()
                            {
                                IdDestinatarioCcp = destinatarioCcp.IdDestinatarioCcp,
                                IdRol = destinatarioCcp.IdRol,
                                IdAsunto = destinatarioCcp.IdAsunto,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );

                        entity.SaveChanges();

                        UpdateSyncLocal("REL_DESTINATARIO_CCP", entity);
                    }

                }
        }
        public void UpdateExpediente(Model.ExpedienteModel expediente)
        {
            using (var entity = new GestorDocumentEntities())
            {
                GET_EXPEDIENTE result = null;
                try
                {
                    result = (from o in entity.GET_EXPEDIENTE
                              where o.IdExpediente == expediente.IdExpediente
                              select o).First();
                }
                catch (Exception ex)
                {
                    ;
                }

                if (result != null)
                {
                    result.IdAsunto = expediente.Asunto.IdAsunto;
                    result.IsModified = true;
                    result.LastModifiedDate = new UNID().getNewUNID();

                    entity.SaveChanges();
                    UpdateSyncLocal("GET_EXPEDIENTE", entity);
                }
            }
        }
        public void UpdateDestinatarioCcp(Model.DestinatarioCcpModel destinatarioCcp)
        {
            using (var entity = new GestorDocumentEntities())
            {
                if (destinatarioCcp != null)
                {
                    REL_DESTINATARIO_CCP result = null;
                    try
                    {
                        result = (from o in entity.REL_DESTINATARIO_CCP
                                  where o.IdDestinatarioCcp == destinatarioCcp.IdDestinatarioCcp
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result != null)
                    {
                        result.IdDestinatarioCcp = destinatarioCcp.IdDestinatarioCcp;
                        result.IdRol = destinatarioCcp.IdRol;
                        result.IdAsunto = destinatarioCcp.IdAsunto;
                        result.IsModified = true;
                        result.LastModifiedDate = new UNID().getNewUNID();

                        entity.SaveChanges();

                        UpdateSyncLocal("REL_DESTINATARIO_CCP", entity);
                    }

                }
            }
        }
        public void InsertTipoDeterminante(Model.TipoDeterminanteModel tipodeterminante)
        {
            using (var entity = new GestorDocumentEntities())

                if (tipodeterminante != null)
                {
                    //Validar si el elemento ya existe
                    CAT_TIPO_DETERMINANTE result = null;
                    try
                    {
                        result = (from o in entity.CAT_TIPO_DETERMINANTE
                                  where o.IdTipoDeterminante == tipodeterminante.IdTipoDeterminante
                                  select o).First();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }

                    if (result == null)
                    {
                        entity.CAT_TIPO_DETERMINANTE.AddObject(
                            new CAT_TIPO_DETERMINANTE()
                            {
                                IdTipoDeterminante = tipodeterminante.IdTipoDeterminante,
                                TipoDeterminanteName = tipodeterminante.TipoDeterminanteName.Trim(),
                                IsActive = true,
                                IsModified = true,
                                LastModifiedDate = new UNID().getNewUNID()
                            }
                        );

                        entity.SaveChanges();
                    }

                }
        }