public Dictionary <string, string> SalvarCorporativoEmpresa()
        {
            var validarContrato   = new ContratosValidator();
            var validarPessoa     = new PessoasValidator();
            var validarUnidade    = new UnidadesValidator();
            var resultadoContrato = validarContrato.Validate(Contratos);
            var resultadoPessoa   = validarPessoa.Validate(Pessoas);
            var resultadoUnidade  = validarUnidade.Validate(Unidades);
            var falhas            = resultadoUnidade.Errors.Union(resultadoContrato.Errors).Union(resultadoPessoa.Errors);
            var resultado         = new ValidationResult(falhas);

            if (resultado.IsValid)
            {
                try
                {
                    ContratosModel.SalvarCorporativo();
                    UnidadesModel.SalvarCorporativo();
                    //Retornar para a lista ou manter no cadastro como edição
                    return(RetornoMensagem("Sucesso", "Contrato Corporativo salvo com sucesso!", "64"));
                }
                catch (Exception)
                {
                    return(RetornoMensagem("Erro", "Não gravado!", "16"));
                }
            }
            else
            {
                return(RetornoMensagem("Aviso", resultado.Errors.First().ErrorMessage, "48"));
            }
        }
        public DataTable ListarCorporativo(string filtroSelecionado, string pesquisa)
        {
            var filtro = Utilities.Utility.GetEnumByDescription <CorporativoFiltro>(filtroSelecionado);

            if (filtro == CorporativoFiltro.Status && !string.IsNullOrEmpty(pesquisa))
            {
                pesquisa = ListarUnidadesStatusFiltro().Exists(x => x.ToUpper() == pesquisa.ToUpper()) ? ((int)Utilities.Utility.GetEnumByDescription <UnidadesStatus>(pesquisa)).ToString() : "-1";
            }
            var lista = UnidadesModel.ListarCorporativo(filtro, pesquisa.Trim());

            foreach (DataRow linha in lista.Rows)
            {
                linha.SetField(CorporativoFiltro.Cnpj.ToString(), new CNPJFormatter().Format(linha.Field <string>(CorporativoFiltro.Cnpj.ToString()).Trim()));
                linha.SetField(CorporativoFiltro.Status.ToString(), Utilities.Utility.GetDescription((UnidadesStatus)int.Parse(linha.Field <string>(CorporativoFiltro.Status.ToString()))));
            }
            return(lista);
        }
Ejemplo n.º 3
0
        private void CrearUnidad(string linea)
        {
            var vector = linea.Split(';');
            var model  = new UnidadesModel()
            {
                Id                   = vector[0],
                Codigounidad         = vector[1],
                Descripcion          = vector[2],
                Descripcion2         = vector[3],
                Textocorto           = vector[4],
                Textocorto2          = vector[5],
                Decimalestotales     = Int32.Parse(vector[6]),
                Formula              = (TipoStockFormulas)Int32.Parse(vector[7]),
                Tiposmovimientostock = (TiposStockMovimientos)Int32.Parse(vector[8]),
                Tipostock            = (TiposStock)Int32.Parse(vector[9]),
                Tipototal            = (TipoStockTotal)Int32.Parse(vector[10])
            };

            _tablasVariasService.create(model);
        }
Ejemplo n.º 4
0
        public LotesModel Get(string id)
        {
            var intid    = int.Parse(id);
            var obj      = _db.Stockhistorico.Single(f => f.id == intid && f.empresa == _context.Empresa);
            var unidades = _db.Unidades.Single(f => f.id == obj.fkunidadesmedida);
            var loteid   = Funciones.Qint(obj.loteid);

            var estadoActual = EstadoStock.SinStock;

            if (_db.Stockactual.Any(
                    f =>
                    f.cantidaddisponible > 0 && f.empresa == obj.empresa && f.lote == obj.lote &&
                    f.loteid == obj.loteid && f.fkarticulos == obj.fkarticulos))
            {
                estadoActual = EstadoStock.EnStock;
            }
            else if (_db.ReservasstockLin.Include("Reservasstock").Any(f => f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid && _db.Estados.Any(j => (j.documento + "-" + j.id) == f.Reservasstock.fkestados && j.tipoestado < (int)TipoEstado.Finalizado)))
            {
                estadoActual = EstadoStock.Reservado;
            }
            else if (
                _db.Transformacionesloteslin.Include("Transformacioneslotes")
                .Any(
                    f =>
                    f.empresa == obj.empresa && f.lote == obj.lote && f.tabla == loteid &&
                    _db.Estados.Any(
                        j =>
                        (j.documento + "-" + j.id) == f.Transformacioneslotes.fkestados &&
                        j.tipoestado < (int)TipoEstado.Finalizado)))
            {
                estadoActual = EstadoStock.Transformacion;
            }
            var result = new LotesModel();

            result.Estado                  = estadoActual;
            result.Fkvariedades            = obj.fkvariedades;
            result.Loteproveedor           = obj.referenciaproveedor;
            result.Fkalmacenes             = obj.fkalmacenes;
            result.NombreAlmacen           = _db.Almacenes.Where(f => f.empresa == obj.empresa && f.id == obj.fkalmacenes).Select(f => f.descripcion).SingleOrDefault();
            result.Zona                    = obj.fkalmaceneszona?.ToString();
            result.Fkcalificacioncomercial = obj.fkcalificacioncomercial;
            result.Fkalmaceneszona         = obj.fkalmaceneszona?.ToString() ?? string.Empty;
            result.Fkincidenciasmaterial   = obj.fkincidenciasmaterial;
            result.Fktipograno             = obj.fktipograno;
            result.Fktonomaterial          = obj.fktonomaterial;
            result.Lotereferencia          = string.Format("{0}{1}", obj.lote, Funciones.RellenaCod(obj.loteid, 3));
            result.Tipodealmacenlote       = (TipoAlmacenlote?)obj.tipoalmacenlote;
            result.Fkcarpetas              = obj.fkcarpetas;
            result.Decimales               = unidades.decimalestotales;
            result.CantidadProduccion      = obj.cantidaddisponible;
            result.LargoProduccion         = obj.largo;
            result.AnchoProduccion         = obj.ancho;
            result.GruesoProduccion        = obj.grueso;
            var modelUnidades = new UnidadesModel();

            modelUnidades.Formula = (TipoStockFormulas)unidades.formula;
            var metros = obj.metros ?? 0;

            result.MetrosProduccion       = obj.cantidaddisponible == 0 ? UnidadesService.CalculaResultado(modelUnidades, 1, obj.largo, obj.ancho, obj.grueso, metros):obj.metros;
            result.Unidades               = unidades.codigounidad;
            result.Formula                = unidades.formula;
            result.Costeadicionalmaterial = obj.costeadicionalmaterial;
            result.Costeadicionalportes   = obj.costeadicionalportes;
            result.Costeadicionalotro     = obj.costeadicionalotro;
            result.Costeadicionalvariable = obj.costeacicionalvariable;
            result.Pesoneto               = obj.pesonetolote;

            // jmm
            result.Codigoproveedor        = obj.codigoproveedor;
            result.Fechaentrada           = obj.fechaentrada;
            result.Precioentrada          = obj.precioentrada;
            result.Referenciaentrada      = obj.referenciaentrada;
            result.Codigodocumentoentrada = obj.codigodocumentoentrada.ToString();
            result.CantidadEntrada        = obj.cantidadentrada;
            result.LargoEntrada           = obj.largoentrada;
            result.AnchoEntrada           = obj.anchoentrada;
            result.GruesoEntrada          = obj.gruesoentrada;
            result.MetrosEntrada          = obj.metrosentrada;
            result.Netocompra             = obj.netocompra;
            result.Preciovaloracion       = obj.preciovaloracion;
            result.Codigocliente          = obj.codigocliente;
            result.Fechasalida            = obj.fechasalida;
            result.Preciosalida           = obj.preciosalida;
            result.Referenciasalida       = obj.referenciasalida;
            result.Codigodocumentosalida  = obj.codigodocumentosalida.ToString();
            result.CantidadSalida         = obj.cantidadsalida;
            result.LargoSalida            = obj.largosalida;
            result.AnchoSalida            = obj.anchosalida;
            result.GruesoSalida           = obj.gruesosalida;
            result.MetrosSalida           = obj.metrossalida;
            result.CantidadProduccion     = obj.cantidaddisponible;
            result.MetrosDisponibles      = UnidadesService.CalculaResultado(modelUnidades, obj.cantidaddisponible, obj.largo, obj.ancho, obj.grueso, metros);

            //articulo descripcion
            result.Fkarticulos = obj.fkarticulos;

            //entrada
            //var entradaObj = GetModeloEntrada(obj.lote, loteid);
            //if (entradaObj != null)
            //{
            //    result.Codigoproveedor = entradaObj.Cuenta;
            //    result.Fechaentrada = entradaObj.Fecha;
            //    result.Precioentrada = entradaObj.Precio;
            //    result.Referenciaentrada = entradaObj.Referencia;
            //    result.Codigodocumentoentrada = entradaObj.Codigodocumento;
            //    result.CantidadEntrada = entradaObj.Cantidad;
            //    result.LargoEntrada = entradaObj.Largo;
            //    result.AnchoEntrada = entradaObj.Ancho;
            //    result.GruesoEntrada = entradaObj.Grueso;
            //    result.MetrosEntrada = entradaObj.Metros;
            //    result.Netocompra = entradaObj.Precio;
            //}

            ////salida
            //var salidaObj = GetModeloSalida(obj.lote,loteid);
            //if (salidaObj != null)
            //{
            //    result.Codigocliente = salidaObj.Cuenta;
            //    result.Fechasalida = salidaObj.Fecha;
            //    result.Preciosalida = salidaObj.Precio;
            //    result.Referenciasalida = salidaObj.Referencia;
            //    result.Codigodocumentosalida = salidaObj.Codigodocumento;
            //    result.CantidadSalida = salidaObj.Cantidad;
            //    result.LargoSalida = salidaObj.Largo;
            //    result.AnchoSalida = salidaObj.Ancho;
            //    result.GruesoSalida = salidaObj.Grueso;
            //    result.MetrosSalida = salidaObj.Metros;
            //}

            result.Documentosrelacionados = GetDocumentosRelacionados(obj.lote, obj.loteid);

            return(result);
        }