コード例 #1
0
        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);
        }
コード例 #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);
        }
コード例 #3
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);
        }
コード例 #4
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);
        }