public virtual GrabadorCarrier Grabar(TDto ODto, Usuario Usuario, string empresa = "")
        {
            //var antes = DateTime.Now;
            if (Usuario == null)
            {
                Usuario        = new Usuario();
                Usuario.Nombre = "Anonymous";
            }
            GrabadorCarrier grabadorhel = new GrabadorCarrier();

            if (ODto != null)
            {
                ParameterOverride[] para = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", typeof(TEntidad).Name.ToLower()) };
                var grabador             = (IGrabadorDTO <TEntidad, TDto>)FabricaNegocios.Instancia.Resolver(typeof(IGrabadorDTO <TEntidad, TDto>), para);
                if (grabador == null)
                {
                    grabadorhel.setError(true);
                    grabadorhel.setMensaje("No se pudo guardar.\nCódigo de error: 0xSABM_G");
                }
                else
                {
                    grabadorhel = grabador.Grabar(ODto, Usuario);
                }
            }
            else
            {
                grabadorhel.setError(true);
                grabadorhel.setMensaje("No se pudo guardar.\nCódigo de error: 0xSABM_ODtoNull");
                //necesito mejor descripcion del error.
            }
            return(grabadorhel);
        }
Exemple #2
0
        public Core.DTO.Carriers.GrabadorCarrier GrabarLista(List <DTO.Preventa.CoordenadaCliente> coordenadasClientes, Usuario usuario, string empresa)
        {
            var gc = new List <GrabadorCarrier>();

            foreach (var item in coordenadasClientes)
            {
                gc.Add(this.Grabar(item, usuario, empresa));
            }
            var gcGeneral = new GrabadorCarrier();

            foreach (var item in gc)
            {
                if (item.getError())
                {
                    if (gcGeneral.getMensaje() == string.Empty)
                    {
                        gcGeneral.setMensaje(item.getMensaje());
                    }
                    else
                    {
                        gcGeneral.setMensaje(gcGeneral.getMensaje() + item.getMensaje());
                    }
                    gcGeneral.setError(true);
                }
            }
            if (gcGeneral.getMensaje() == string.Empty)
            {
                gcGeneral.setMensaje("Grabado Correctamente.");
            }
            return(gcGeneral);
        }
 public GrabadorGenerico(string empresa, string entidad, Inteldev.Core.Negocios.Validadores.IValidador <TEntidad> validador)
     : base(empresa, entidad)
 {
     this.grabadorHelper = new GrabadorCarrier();
     this.parameter      = new ParameterOverride[2];
     this.parameter[0]   = new ParameterOverride("empresa", empresa);
     this.empresa        = empresa;
     this.parameter[1]   = new ParameterOverride("entidad", typeof(TEntidad).Name);
     this.numerador      = (INumerador <TEntidad>)FabricaNegocios.Instancia.Resolver(typeof(INumerador <TEntidad>), this.parameter);
     this.validador      = validador;
     this.grabarDatos    = true;
 }
        public override GrabadorCarrier GrabarExistente(PerfilUsuario Entidad, Usuario Usuario)
        {
            //this.Contexto.MarcarComoModificado(Entidad);
            var grabador = new GrabadorCarrier();

            this.marcaRecursivo(Entidad.Permiso);
            //MODIFICACIONES 2015
            //this.Contexto.SaveChanges();
            var listaContextos = this.Contexto.ObtenerContextos(typeof(PerfilUsuario));

            listaContextos.ForEach(x => x.SaveChanges());
            return(grabador);
        }
 private object GrabarImportador(TEntidad item, Usuario Usuario = null) //usado para el importador solamente. Fixius llama a GrabarNuevo y GrabarExistente directamente
 {
     this.entidad = item;
     this.usuario = Usuario;
     //this.AntesDeGrabar(this.entidad);
     if (Existe(this.entidad))
     {
         this.grabadorHelper = GrabarExistenteParaImportador(this.entidad, Usuario);
     }
     else
     {
         this.grabadorHelper = GrabarNuevoParaImportador(this.entidad, Usuario);
     }
     return(this.grabadorHelper);
 }
        public GrabadorCarrier GuardarCambios()
        {
            GrabadorCarrier s = new GrabadorCarrier();
            //MODIFICACIONES 2015
            //var concu = this.Contexto.SaveChanges();
            var listaContextos = this.Contexto.ObtenerContextos(typeof(TEntidad));
            List <Inteldev.Core.Datos.EvaluarConcurrencia> concu = new List <Datos.EvaluarConcurrencia>();

            foreach (var contexto in listaContextos)
            {
                concu.Add(contexto.SaveChanges());
            }
            var mapeador = FabricaNegocios._Resolver <IMapeadorGenerico <Inteldev.Core.Datos.EvaluarConcurrencia, Inteldev.Core.DTO.Carriers.EvaluarConcurrencia> >();

            s.setConcurrencia(mapeador.EntidadToDto(concu.FirstOrDefault())); //no podia hacer otra cosa... REVISAR!!
            //DespuesDeGrabar();
            return(s);
        }
        public GrabadorCarrier Grabar(TEntidad Entidad, Usuario Usuario = null)
        {
            this.entidad = Entidad;
            this.usuario = Usuario;
            //this.AntesDeGrabar(this.entidad);
            if (Existe(this.entidad))
            {
                this.grabadorHelper = GrabarExistente(this.entidad, Usuario);
            }
            else
            {
                this.grabadorHelper = GrabarNuevo(this.entidad, Usuario);
            }

            if (this.grabarDatos)
            {
                this.GuardarCambios();
            }

            return(this.grabadorHelper);
        }
Exemple #8
0
        public GrabadorCarrier GrabarEnFox(TEntidad entidad, string usuario, GrabadorCarrier ok)
        {
            var oFox = FabricaNegocios._Resolver <IGrabadorFox <TEntidad> >();

            if (oFox != null)
            {
                oFox.Usuario = usuario;
                this.Buscador.CargarEntidadesRelacionadas = CargarRelaciones.CargarTodo;
                entidad = this.Buscador.BuscarSimple(entidad.Id);
                try
                {
                    oFox.Grabar(entidad);
                }
                catch (Exception ex)
                {
                    ok.setError(true);
                    ok.setMensaje(ok.getMensaje() + "\n¡ATENCIÓN!\nOcurrió un error al grabar de Fox, pero en Fixius se grabó correctamente.\nSi es un ALTA, no intente grabar nuevamente.\nContactese con el departamento de Sistemas.\n\nInformación del error: " + ex.Message);
                }
            }
            return(ok);
        }
Exemple #9
0
        public virtual GrabadorCarrier Grabar(TDto dto, Usuario Usuario)
        {
            GrabadorCarrier ok              = new GrabadorCarrier();
            var             oDto            = dto as DTO.DTOBase;
            var             mapeadorUsuario = FabricaNegocios.Instancia.Resolver <MapeadorGenerico <Inteldev.Core.Modelo.Usuarios.Usuario, Inteldev.Core.DTO.Usuarios.Usuario> >();

            if (mapeadorUsuario == null)
            {
                ok.setError(true);
                ok.setMensaje("Error al grabar.\nCódigo de error: 0xGDTO_RMU");
            }
            else
            {
                var usuario = mapeadorUsuario.DtoToEntidad(Usuario);
                if (this.Mapeador == null)
                {
                    ok.setError(true);
                    ok.setMensaje("Error al grabar.\nCódigo de error: 0xGDTO_MNull");
                }
                else
                {
                    var entidad = this.Mapeador.DtoToEntidad(dto);
                    if (oDto.Id > 0)
                    {
                        ok = this.GrabadorEntidad.GrabarExistente(entidad, usuario);
                    }
                    else
                    {
                        ok = this.GrabadorEntidad.GrabarNuevo(entidad, usuario);
                        ok.setId(entidad.Id);
                    }
                    if (!ok.getError())
                    {
                        this.GrabadorEntidad.GuardarCambios();
                        ok = this.GrabarEnFox(entidad, usuario.Nombre, ok);
                    }
                }
            }
            return(ok);
        }