Пример #1
0
        public List <datos> ValidaOrdenes(string nombrep, string AgenciaConcet)
        {
            var persons = new List <datos>();
            //elimina las llaves
            string prueba1 = nombrep.Replace("}", " ");
            string prueba  = prueba1.Replace("{", " ");
            //elimina los puntos
            string datos = prueba.Replace(":", " ");

            DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable();
            string[] separadas;

            string[] CadaLinea;

            separadas = datos.Split('$');

            int tamaño = separadas.Count();

            for (int i = 0; i < separadas.Count(); i++)
            {
                CadaLinea = separadas[i].Split(new string[] { ",\"" }, StringSplitOptions.None);

                string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " ");

                if (ConceptoOrdenID != "")
                {
                    string OrdenRetiro     = CadaLinea[1].Replace("ordenRetiro", " ");
                    string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim();

                    string descripcion     = CadaLinea[2].Replace("descripProducto", " ");
                    string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim();

                    string importe     = CadaLinea[3].Replace("Importe", " ");
                    string importeBien = importe.ToString().Replace('"', ' ').Trim();

                    string cb     = CadaLinea[4].Replace("CB", " ");
                    string cbBien = cb.ToString().Replace('"', ' ').Trim();


                    string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim();

                    dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien);
                }
            }


            try
            {
                foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows)
                {
                    if (drr.CodigoBarras != "0")
                    {
                        ICodigoBarras cb2       = CodigoBarrasFactory.GetCodigoBarras();
                        string        NroCodigo = cb2.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion));


                        if (NroCodigo != drr.CodigoBarras)
                        {
                            int conceptoid = 0;
                            int clienteid  = 0;
                            int uv         = 0;

                            IOrdenRetiro  or   = OrdenRetiroFactory.GetOrdenRetiroFactory();
                            DsOrdenRetiro dsor = new DsOrdenRetiro();
                            or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID);
                            dsor             = or.ClienteCorporativoinOR();

                            foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB)
                            {
                                clienteid  = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID);
                                uv         = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID);
                                conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID);
                            }
                            ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras();

                            if (clienteid == 0)//el codigo de barra tiene que salir de la agencia
                            {
                                cb.ConceptoFacturacionID = conceptoid;
                                cb.AgenciaID             = Convert.ToInt32(AgenciaConcet);
                                cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                                cb.UnidadVentaID         = uv;
                                if (cb.ValidaCBbyAgenciaID(drr.CodigoBarras) == 0)
                                {
                                    throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido");
                                }
                            }
                            else
                            {
                                //tiene que sacar del stock del del cliente corporativo

                                cb.ConceptoFacturacionID = conceptoid;
                                cb.ClienteID             = Convert.ToInt32(clienteid);
                                cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                                cb.UnidadVentaID         = uv;


                                if (cb.ValidaCBbyClienteID(drr.CodigoBarras) == 0)
                                {
                                    throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido");
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Debe ingresar un Código de Barras.");
                    }
                    datos person = new datos
                    {
                        OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion),
                        ordenRetiro     = Convert.ToInt32(drr.OrdenRetiroID),
                        descripProducto = drr.Descripcion,
                        Importe         = Convert.ToDouble(drr.ImporteConcepto),
                        CB = drr.CodigoBarras
                    };
                    persons.Add(person);
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;

                if (mensaje.Trim() == "Codigo de barra <INPUT style= WIDTH  96%  id=1_  class= editable inline-edit-cell ui-widget-content ui-corner-all  role=textbox name=  rowid= 1 > inválido")
                {
                    throw new Exception("Guardar cambios antes de validar.");
                }
                else
                {
                    throw new Exception(ex.Message);
                }
                // if(mensaje=""
            }



            return(persons);
        }
Пример #2
0
        public List <datos> GuardarOrdenes(string nombrep, string AgenciaConcet)
        {
            var persons = new List <datos>();
            //elimina las llaves
            string prueba1 = nombrep.Replace("}", " ");
            string prueba  = prueba1.Replace("{", " ");
            //elimina los puntos
            string datos = prueba.Replace(":", " ");

            DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable();
            string[] separadas;

            string[] CadaLinea;

            separadas = datos.Split('$');

            int tamaño = separadas.Count();

            for (int i = 0; i < separadas.Count(); i++)
            {
                CadaLinea = separadas[i].Split(',');



                string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " ");

                if (ConceptoOrdenID != "")
                {
                    string OrdenRetiro     = CadaLinea[1].Replace("ordenRetiro", " ");
                    string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim();

                    string descripcion     = CadaLinea[2].Replace("descripProducto", " ");
                    string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim();

                    string importe     = CadaLinea[3].Replace("Importe", " ");
                    string importeBien = importe.ToString().Replace('"', ' ').Trim();

                    string cb     = CadaLinea[4].Replace("CB", " ");
                    string cbBien = cb.ToString().Replace('"', ' ').Trim();

                    string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim();

                    dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien);
                }
            }



            foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows)
            {
                ICodigoBarras cb        = CodigoBarrasFactory.GetCodigoBarras();
                string        NroCodigo = cb.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion));

                if (NroCodigo != drr.CodigoBarras)//quiere decir que se realizaron modificaciones en el numero de los CB
                //Se tiene que dar de baja el que tenia anteriormente y usar el que estan cargando.
                {
                    int conceptoid = 0;
                    int clienteid  = 0;
                    int uv         = 0;

                    IOrdenRetiro  or   = OrdenRetiroFactory.GetOrdenRetiroFactory();
                    DsOrdenRetiro dsor = new DsOrdenRetiro();
                    or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID);
                    dsor             = or.ClienteCorporativoinOR();

                    foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB)
                    {
                        clienteid  = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID);
                        uv         = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID);
                        conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID);
                    }


                    if (clienteid == 0)//el codigo de barra tiene que salir de la agencia
                    {
                        cb.ConceptoFacturacionID = conceptoid;
                        cb.AgenciaID             = Convert.ToInt32(AgenciaConcet);
                        cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                        cb.UnidadVentaID         = uv;
                        cb.ClienteID             = 0;
                        //pasa primero el cb viejo y despues el nuevo

                        if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false)
                        {
                            throw new Exception("Codigo de barra" + drr.CodigoBarras + " inválido");
                        }
                    }
                    else
                    {//tiene que descontar del cliente corporativo
                        cb.ConceptoFacturacionID = conceptoid;
                        cb.ClienteID             = Convert.ToInt32(clienteid);
                        cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                        cb.UnidadVentaID         = uv;
                        cb.AgenciaID             = 0;
                        if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false)
                        {
                            throw new Exception("Codigo de barra " + drr.CodigoBarras + " inválido");
                        }
                    }
                }
                datos person = new datos
                {
                    OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion),
                    ordenRetiro     = Convert.ToInt32(drr.OrdenRetiroID),
                    descripProducto = drr.Descripcion,
                    Importe         = Convert.ToDouble(drr.ImporteConcepto),
                    CB = drr.CodigoBarras
                };
                persons.Add(person);
            }


            return(persons);
        }