Exemple #1
0
    private int SaveLavoro(OleDbConnection cnn, OleDbConnection wc, AmzIFace.AmazonSettings amzs, UtilityMaietta.genSettings s, string nomeLavoro, List <int> indexRow)
    {
        LavClass.UtenteLavoro ul = new LavClass.UtenteLavoro(1, amzs.AmazonMagaCode, wc, cnn, s);
        LavClass.Operatore    opLav;
        LavClass.Macchina     mc          = new LavClass.Macchina(amzs.lavMacchinaDef, s.lavMacchinaFile, s);
        LavClass.TipoStampa   ts          = new LavClass.TipoStampa(amzs.lavTipoStampaDef, s.lavTipoStampaFile);
        LavClass.Obiettivo    ob          = new LavClass.Obiettivo(amzs.lavObiettivoDef, s.lavObiettiviFile);
        LavClass.Priorita     pr          = new LavClass.Priorita(amzs.lavPrioritaDefStd, s.lavPrioritaFile);
        LavClass.Operatore    approvatore = new LavClass.Operatore(amzs.lavApprovatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile);
        int lavid = 0;

        if (ul.HasOperatorePref())
        {
            opLav = ul.OperatorePreferito();
        }
        else
        {
            opLav = new LavClass.Operatore(amzs.lavOperatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile);
        }

        string testo = "Lavorazione Amazon spedizione logistica @ " + nomeLavoro + " @ <br />";
        string qt, sku, titolo;
        int    q;

        foreach (int ir in indexRow)
        {
            qt = int.TryParse((((TextBox)gridCheckItems.Rows[ir].Cells[OPcolQtLav].Controls[1]).Text), out q)? ((TextBox)gridCheckItems.Rows[ir].Cells[OPcolQtLav].Controls[1]).Text :
                 gridCheckItems.Rows[ir].Cells[OPcolSped].Text;
            sku    = gridCheckItems.Rows[ir].Cells[colSku].Text.Substring(0, gridCheckItems.Rows[ir].Cells[colSku].Text.IndexOf("<br"));
            titolo = UtilityMaietta.RemoveSpecialCharacters(gridCheckItems.Rows[ir].Cells[colTitolo].Text.Replace("My Custom Style", "").Trim());
            titolo = (titolo.Length > 50) ? titolo.Substring(0, 49) : titolo;

            testo += "<br />-- n." + qt + " - " + sku + " - " + titolo;
        }

        lavid = LavClass.SchedaLavoro.SaveLavoro(wc, amzs.AmazonMagaCode, ul.id, opLav.id, mc.id, ts.id, ob.id, DateTime.Now, op,
                                                 null, null, true, approvatore.id, false, testo, "", DateTime.Today.AddDays(2), nomeLavoro, pr.id);

        return(lavid);
    }
    private AmazonOrder.Order.lavInfo OpenLavorazioneFromAmz(AmazonOrder.Order order, OleDbConnection wc, OleDbConnection cnn, AmzIFace.AmazonSettings amzs, UtilityMaietta.genSettings s, string invoice)
    {
        string mailcl = order.buyer.emailCompratore;

        LavClass.UtenteLavoro ul = new LavClass.UtenteLavoro(mailcl, amzs.AmazonMagaCode, wc, cnn, s);
        LavClass.Operatore    opLav;
        LavClass.Macchina     mc = new LavClass.Macchina(amzs.lavMacchinaDef, s.lavMacchinaFile, s);
        LavClass.TipoStampa   ts = new LavClass.TipoStampa(amzs.lavTipoStampaDef, s.lavTipoStampaFile);
        LavClass.Obiettivo    ob = new LavClass.Obiettivo(amzs.lavObiettivoDef, s.lavObiettiviFile);
        //LavClass.Priorita pr = new LavClass.Priorita(amzs.lavPrioritaDef, s.lavPrioritaFile);
        LavClass.Priorita pr = new LavClass.Priorita(((order.ShipmentServiceLevelCategory.ShipmentLevelIs(AmazonOrder.ShipmentLevel.ESPRESSA)) ? amzs.lavPrioritaDefExpr : amzs.lavPrioritaDefStd),
                                                     s.lavPrioritaFile);
        LavClass.Operatore approvatore = new LavClass.Operatore(amzs.lavApprovatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile);
        int lavid = 0;

        //double myprice;

        if (ul.id == 0) // NON HO MAIL UTENTE
        {
            // INSERISCI SAVE UTENTE
            UtilityMaietta.clienteFattura amazonRiv = new UtilityMaietta.clienteFattura(amzs.AmazonMagaCode, cnn, s);
            LavClass.UtenteLavoro.SaveUtente(amazonRiv, wc, order.buyer.nomeCompratore + " c/o " + order.destinatario.nome, order.buyer.emailCompratore, order.destinatario.ToString(), order.destinatario.ToStringFormatted());
            ul = new LavClass.UtenteLavoro(order.buyer.emailCompratore, amzs.AmazonMagaCode, wc, cnn, s);
        }

        if (ul.HasOperatorePref())
        {
            opLav = ul.OperatorePreferito();
        }
        else
        {
            opLav = new LavClass.Operatore(amzs.lavOperatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile);
        }

        //string postit = ((order.GetSiglaVettore(cnn, amzs)) == postaSigla) ? "Spedizione con " + postaSigla : "";

        // INSERISCI SAVE LAVORAZIONE
        string testo = (invoice != "") ? "Lavorazione <b>" + order.canaleVendita.ToUpper() + "</b> automatica.<br /><br />" + invoice :
                       "Lavorazione <b>" + order.canaleVendita.ToUpper() + "</b> automatica.";

        lavid = LavClass.SchedaLavoro.SaveLavoro(wc, amzs.AmazonMagaCode, ul.id, opLav.id, mc.id, ts.id, ob.id, DateTime.Now, op,
                                                 null, null, true, approvatore.id, false, testo, "", order.dataSpedizione, order.orderid, pr.id);

        // ADD PRODOTTI
        ArrayList distinctMaietta;

        if (freeProds && Session["freeProds"] != null) /// VENGO DA RICEVUTA FREEINVOICE E CON SPUNTA CREA LAVORAZIONE
        {
            distinctMaietta = new ArrayList((List <AmzIFace.CodiciDist>)Session["freeProds"]);
            foreach (AmzIFace.CodiciDist codD in distinctMaietta)
            {
                LavClass.ProdottoLavoro.SaveProdotto(lavid, codD.maietta.idprodotto, codD.qt, "", codD.totPrice / codD.qt, false, wc);
            }
        }
        else if (order.Items != null)                                       /// VENGO DA PANORAMICA
        {
            distinctMaietta = FillDistinctCodes(order.Items, aMerchant, s); //, DateTime.Today);

            foreach (AmzIFace.CodiciDist codD in distinctMaietta)
            {
                LavClass.ProdottoLavoro.SaveProdotto(lavid, codD.maietta.idprodotto, codD.qt, "", codD.totPrice / codD.qt, false, wc);
            }
        }

        AmazonOrder.Order.lavInfo li = new AmazonOrder.Order.lavInfo();
        li.lavID  = lavid;
        li.rivID  = amzs.AmazonMagaCode;
        li.userID = ul.id;

        return(li);
    }