public SoluzioneIngressiItem(Variante variante, Titolo titolo, int quantita) { Variante = variante; Titolo = titolo; Quantita = quantita; m_PrezzoUnitario = Variante.Prezzo; m_PrezzoTotale = PrezzoUnitario * Quantita; }
public SoluzioneIngressiItem(Variante variante) { Variante = variante; Titolo = null; Quantita = 1; m_PrezzoUnitario = Variante.Prezzo; m_PrezzoTotale = PrezzoUnitario * Quantita; }
private void lookUpEditVariante_EditValueChanged(object sender, EventArgs e) { this.lookUpEditTitolo.EditValue = null; Variante variante = this.lookUpEditVariante.EditValue as Variante; if (variante != null) { this.lookUpEditTitolo.Properties.DataSource = variante.ElencoTitoli; } }
public FormVarianteNuevo(FormProductoNuevo formProductoNuevo, Variante currentVariante) { InitializeComponent(); this.formProductoNuevo = formProductoNuevo; this.currentVariante = currentVariante; this.currentIDVariante = currentVariante.idVariante; this.mostrarDatosModificar(); // Cambiando al estado modificar this.nuevo = false; }
private void crearObjetoSucursal() { currentVariante = new Variante(); if (!nuevo) { currentVariante.idVariante = currentIDVariante; // Llenar el id categoria cuando este en esdo modificar } currentVariante.nombreVariante = textNombre.Text; currentVariante.estado = 1; currentVariante.esCombo = chkEsCombo.Checked; currentVariante.idProducto = formProductoNuevo.currentIDProducto; }
public void Procesar() { Variante lineaPrincipal = new Variante(1); Jugada primerJugada = new Jugada(1); List <string> wordsList = new List <string>(); StreamReader sr = new StreamReader(pathArchivo); string line = sr.ReadToEnd(); var words = line.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries); sr.Close(); int palabrasProcesadas = CargarVariante(0, words, ref lineaPrincipal, primerJugada); }
private async void executeEliminarVariante() { // Verificando la existencia de datos en el datagridview if (dataGridViewVariante.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Pregunta de seguridad de eliminacion DialogResult dialog = MessageBox.Show("¿Está seguro de eliminar este registro?", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (dialog == DialogResult.No) { return; } try { int index = dataGridViewVariante.CurrentRow.Index; // Identificando la fila actual del datagridview currentVariante = new Variante(); //creando una instancia del objeto categoria currentVariante.idVariante = Convert.ToInt32(dataGridViewVariante.Rows[index].Cells[0].Value); // obteniedo el idCategoria del datagridview loadState(true); // cambiando el estado Response response = await varianteModel.eliminar(currentVariante); // Eliminando con el webservice correspondiente MessageBox.Show(response.msj, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarVariantes(); // recargando el datagridview } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { loadState(false); // cambiando el estado } }
private void Tentativo(ProfiloCliente cliente, List <SoluzioneIngressiItem> elencoPercorso, decimal importoPercorso, int indice, List <Ingresso> dafare) { if (dafare.Count == 0) { // valida soluzione per bigliettone if (SoluzioneValidaPerBigliettone(elencoPercorso)) { decimal importoTotale = 0; decimal importoUnitario = 0; // ho trovato una soluzione foreach (SoluzioneIngressiItem item in elencoPercorso) { importoTotale += item.PrezzoTotale; importoUnitario += item.PrezzoUnitario; } List <Ingresso> visitati = new List <Ingresso>(); foreach (SoluzioneIngressiItem variante1 in elencoPercorso) { foreach (Ingresso item in variante1.Variante.Biglietto.Percorso.Ingressi) { if (!visitati.Contains(item)) { visitati.Add(item); } } } SoluzioneIngressi sol = new SoluzioneIngressi(); sol.Elenco = new List <SoluzioneIngressiItem>(); sol.Elenco.AddRange(elencoPercorso); sol.NumeroIngressi = visitati.Count; sol.NumeroPercorsi = elencoPercorso.Count; sol.ImportoTotale = importoTotale; sol.ImportoUnitario = importoUnitario; sol.NumeroPersone = cliente.NumeroPersone; cliente.ElencoSoluzioni.AggiungiSoluzioneSeNonDuplicata(sol); } } else { if (cliente.OttimizzaCalcolo && cliente.ElencoSoluzioni.SogliaImporto >= 0) { // inutile proseguire ulteriormente if (importoPercorso > cliente.ElencoSoluzioni.SogliaImporto) { return; } } for (int newIndice = indice + 1; newIndice < m_TutteLeVarianti.Count; newIndice++) { Titolo titolo = null; Variante variante = m_TutteLeVarianti[newIndice]; if (variante.TipologiaTre == EnumTipologiaTre.CardMyFE) { // CARD MY-FE con prezzo sdoppiato -C] if (variante.ComprendeAlmenoUno(dafare) && variante.GiorniCardMyFe() == m_GestoreProfili.TipologiaMyFe && variante.Note.Contains("-C]")) { List <Ingresso> davisitare = new List <Ingresso>(dafare); foreach (Ingresso ingresso in variante.Biglietto.Percorso.Ingressi) { davisitare.Remove(ingresso); } decimal prezzo = 0; SoluzioneIngressiItem tentativo = null; SoluzioneIngressiItem tentativoSecondario = null; tentativo = new SoluzioneIngressiItem(variante, null, cliente.NumeroPersone); prezzo = tentativo.PrezzoTotale; tentativoSecondario = new SoluzioneIngressiItem(variante.PrezzoAttuale.PrezzoRidotto, null, cliente.NumeroPersone); prezzo += tentativoSecondario.PrezzoTotale; elencoPercorso.Add(tentativo); elencoPercorso.Add(tentativoSecondario); Tentativo(cliente, elencoPercorso, importoPercorso + prezzo, newIndice, davisitare); elencoPercorso.Remove(tentativoSecondario); elencoPercorso.Remove(tentativo); } // campo note che finisce con -B è solo COMUNE if (variante.ComprendeAlmenoUno(dafare) && variante.GiorniCardMyFe() == m_GestoreProfili.TipologiaMyFe && variante.Note.Contains("-B]")) { List <Ingresso> davisitare = new List <Ingresso>(dafare); foreach (Ingresso ingresso in variante.Biglietto.Percorso.Ingressi) { davisitare.Remove(ingresso); } decimal prezzo = 0; SoluzioneIngressiItem tentativo = null; //SoluzioneIngressiItem tentativoSecondario = null; tentativo = new SoluzioneIngressiItem(variante, null, cliente.NumeroPersone); prezzo = tentativo.PrezzoTotale; //tentativoSecondario = new SoluzioneIngressiItem(variante.PrezzoAttuale.PrezzoRidotto, null, cliente.NumeroPersone); //prezzo += tentativoSecondario.PrezzoTotale; elencoPercorso.Add(tentativo); //elencoPercorso.Add(tentativoSecondario); Tentativo(cliente, elencoPercorso, importoPercorso + prezzo, newIndice, davisitare); //elencoPercorso.Remove(tentativoSecondario); elencoPercorso.Remove(tentativo); } } else { if (variante.HoTitoloPerComprarlo(cliente.ElencoTitoli, cliente.ElencoCodiciSconto, cliente.NumeroPersone, cliente.Scuola, out titolo)) { if (variante.ComprendeAlmenoUno(dafare)) { List <Ingresso> davisitare = new List <Ingresso>(dafare); foreach (Ingresso ingresso in variante.Biglietto.Percorso.Ingressi) { davisitare.Remove(ingresso); } decimal prezzo = 0; SoluzioneIngressiItem tentativo = null; SoluzioneIngressiItem tentativoSecondario = null; if (titolo != null && titolo.TitoloPrincipale != null && titolo.TitoloSecondario != null) { // GESTIONE TITOLI SECONDARI (solo il primo e' titolare, gli altri accompagnatori) tentativo = new SoluzioneIngressiItem(variante, titolo.TitoloPrincipale, 1); prezzo = tentativo.PrezzoTotale; if (cliente.NumeroPersone > 1) { tentativoSecondario = new SoluzioneIngressiItem(variante, titolo.TitoloSecondario, cliente.NumeroPersone - 1); prezzo += tentativoSecondario.PrezzoTotale; } } else { if (variante.PrezzoAttuale.UnaRiduzioneOgni > 0 && variante.PrezzoAttuale.PrezzoRidotto != null) { int numRidotti = cliente.NumeroPersone / variante.PrezzoAttuale.UnaRiduzioneOgni; int numInteri = cliente.NumeroPersone - numRidotti; tentativo = new SoluzioneIngressiItem(variante, titolo, numInteri); prezzo = tentativo.PrezzoTotale; if (numRidotti > 0) { tentativoSecondario = new SoluzioneIngressiItem(variante.PrezzoAttuale.PrezzoRidotto, titolo, numRidotti); prezzo += tentativoSecondario.PrezzoTotale; } } else { tentativo = new SoluzioneIngressiItem(variante, titolo, cliente.NumeroPersone); prezzo = tentativo.PrezzoTotale; } } elencoPercorso.Add(tentativo); if (tentativoSecondario != null) { elencoPercorso.Add(tentativoSecondario); foreach (Ingresso ingresso in tentativoSecondario.Variante.Biglietto.Percorso.Ingressi) { davisitare.Remove(ingresso); } } Tentativo(cliente, elencoPercorso, importoPercorso + prezzo, newIndice, davisitare); if (tentativoSecondario != null) { elencoPercorso.Remove(tentativoSecondario); } elencoPercorso.Remove(tentativo); } } } } } }
private bool CreaVendita() { using (UnitOfWork uow = new UnitOfWork()) { Vendita vendita = new Vendita(uow); vendita.Incasso = this.checkEditPos.Checked ? EnumIncasso.Pos : EnumIncasso.Contanti; vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.CodicePrevent = ""; vendita.DataContabile = DateTime.Now.Date; vendita.DataOraStampa = DateTime.Now; vendita.Descrizione = ""; vendita.Utente = uow.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); vendita.Postazione = uow.GetObjectByKey <Postazione>(Program.Postazione.Oid); vendita.Struttura = uow.GetObjectByKey <Struttura>(Program.Postazione.Struttura.Oid); vendita.TotalePersone = ElencoCard.Count; vendita.TotaleImporto = CalcolaTotale(ElencoCard); vendita.Save(); //Percorso per = uow.FindObject<Percorso>(new BinaryOperator("Descrizione", "MyFE")); for (int i = 0; i < ElencoCard.Count; i++) { Matricola card = uow.GetObjectByKey <Matricola>(ElencoCard[i].Oid); Titolo unife = uow.FindObject <Titolo>(new BinaryOperator("Attributi", "-UNIFE-")); //Variante v1 = per.GetVarianteMyFe("Com", "C", card.TipologiaCard); //Variante v2 = per.GetVarianteMyFe("Pin", "C", card.TipologiaCard); if (unife == null) { XtraMessageBox.Show("Titolo per -UNIFE- mancante", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (card == null) { XtraMessageBox.Show("Tessera unife mancante", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (card.ValidaDal > DateTime.Today) { XtraMessageBox.Show("Tessera " + card.Codice + " valida dal " + card.ValidaDal.ToString("d"), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (card.ValidaAl < DateTime.Today) { XtraMessageBox.Show("Tessera " + card.Codice + " valida fino al " + card.ValidaAl.ToString("d"), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } decimal totale = 0; // = v1.Prezzo + v2.Prezzo; //List<Ingresso> ingressi = new List<Ingresso>(); //ingressi.AddRange(per.Ingressi); foreach (Ingresso ingresso in ElencoIngressi) { Variante v1 = FindVarianteSingoleOmaggio(uow, ingresso); if (v1 == null) { XtraMessageBox.Show("Per ingresso " + ingresso.Descrizione + " non esiste una variante adeguata.", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } RigaVenditaVariante rvv1 = new RigaVenditaVariante(uow); rvv1.PrezzoTotale = v1.Prezzo; rvv1.PrezzoUnitario = v1.Prezzo; rvv1.Profilo = i; rvv1.Quantita = 1; rvv1.Variante = v1; rvv1.Vendita = vendita; rvv1.Titolo = unife; //rvv1.Card = card; rvv1.Matricola = card.Codice; rvv1.Save(); totale += v1.Prezzo; } //RigaVenditaVariante rvv2 = new RigaVenditaVariante(uow); //rvv2.PrezzoTotale = v2.Prezzo; //rvv2.PrezzoUnitario = v2.Prezzo; //rvv2.Profilo = i; //rvv2.Quantita = 1; //rvv2.Variante = v2; //rvv2.Vendita = vendita; //rvv2.Card = card; //rvv2.Save(); DateTime inizioVal = DateTime.Now.Date; DateTime fineVal = DateTime.Now.Date; Stampa stampa = new Stampa(uow); stampa.Vendita = vendita; stampa.InizioValidita = inizioVal; stampa.FineValidita = fineVal; stampa.Quantita = 1; stampa.ImportoTotale = totale; stampa.StatoStampa = i; stampa.TipoStampa = EnumTipoStampa.Standard; //stampa.Card = card; stampa.Matricola = card.Codice; stampa.Save(); stampa.GeneraBarCode(Program.Postazione, ElencoIngressi); //card.Status = EnumStatoCard.Emessa; //card.Stampa = stampa; ////if (_Albergo) //// card.Albergo = uow.GetObjectByKey<AnagraficaCard>((this.lookUpEditAlbergo.EditValue as AnagraficaCard).Oid); //card.Save(); Stampa doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ElencoIngressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ElencoIngressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ElencoIngressi); } } } stampa.Save(); foreach (Ingresso ingresso in ElencoIngressi) { RigaStampaIngresso rigaingresso = new RigaStampaIngresso(uow); rigaingresso.Ingresso = uow.GetObjectByKey <Ingresso>(ingresso.Oid); rigaingresso.Stampa = stampa; rigaingresso.TotalePersone = 1; rigaingresso.Save(); } } // registra ingressi per QUESTA postazione foreach (Stampa item1 in vendita.Stampe) { foreach (RigaStampaIngresso item2 in item1.RigheStampaIngresso) { if (VarcoPostazione(item2)) { Entrata entrata = new Entrata(uow); entrata.DataOraEntrata = vendita.DataOraStampa; entrata.Quantita = item2.TotalePersone; entrata.RigaStampaIngresso = item2; entrata.Save(); item2.TotaleIngressi = item2.TotalePersone; item2.Save(); } } } uow.CommitChanges(); m_Vendita = this._UnitOfWork.GetObjectByKey <Vendita>(vendita.Oid); } return(true); }
private void simpleButtonOk_Click(object sender, EventArgs e) { Variante variante = this.lookUpEditVariante.EditValue as Variante; Titolo titolo = this.lookUpEditTitolo.EditValue as Titolo; Postazione postazione = this.lookUpEdit1.EditValue as Postazione; int quantita = (int)this.spinEditQta.Value; DateTime dataVendita = this.dateEditData.DateTime; if (dataVendita > DateEnd || dataVendita < DateStart) { this.dateEditData.ErrorText = string.Format("Deve essere compresa fra {0:g} e {1:g}", DateStart, DateEnd); return; } if (dataVendita > DateTime.Today) { this.dateEditData.ErrorText = string.Format("Non può essere nel futuro ..."); return; } if ((DateTime.Today - dataVendita).TotalDays > 240) { this.dateEditData.ErrorText = string.Format("Non può essere oltre 8 mesi indietro"); return; } if (dataVendita.Year <= 2013) { this.dateEditData.ErrorText = string.Format("Non può essere nel 2013 o prima"); return; } if (variante != null && postazione != null) { if (!variante.Biglietto.IsAttrib(Biglietto.STR_BIGLIETTO_STORICO)) { if (dataVendita.Date > new DateTime(2011, 6, 1)) { XtraMessageBox.Show("Data deve essere precedente a giugno 2011.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (variante.Biglietto.Percorso.Ingressi.Count > 1) { XtraMessageBox.Show("Non biglietti cumulativi", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Ingresso ingresso = variante.Biglietto.Percorso.Ingressi[0]; Vendita vendita = new Vendita(this.unitOfWork1); vendita.DataContabile = dataVendita.Date; vendita.DataOraStampa = dataVendita.Add(this.timeEditOra.Time.TimeOfDay); vendita.Incasso = (EnumIncasso)this.imageComboBoxEditIncasso.EditValue; vendita.Postazione = postazione; vendita.Struttura = ingresso.Struttura; vendita.TotaleImporto = variante.PrezzoAttuale.Prezzo * quantita; vendita.TotalePersone = quantita; vendita.Utente = this.unitOfWork1.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.Save(); RigaVenditaVariante riga = new RigaVenditaVariante(this.unitOfWork1); riga.PrezzoTotale = vendita.TotaleImporto; riga.PrezzoUnitario = variante.PrezzoAttuale.Prezzo; riga.Quantita = quantita; riga.Titolo = titolo; riga.Variante = variante; riga.Vendita = vendita; riga.Save(); Stampa stampa = new Stampa(this.unitOfWork1); stampa.FineValidita = vendita.DataContabile; stampa.InizioValidita = vendita.DataContabile; stampa.ImportoTotale = vendita.TotaleImporto; stampa.Quantita = quantita; stampa.Vendita = vendita; stampa.Save(); stampa.GeneraBarCode(Program.Postazione, new List <Ingresso>()); stampa.Save(); RigaStampaIngresso rigastampa = new RigaStampaIngresso(this.unitOfWork1); rigastampa.Ingresso = ingresso; rigastampa.Stampa = stampa; rigastampa.TotaleIngressi = quantita; rigastampa.TotalePersone = quantita; rigastampa.Save(); Entrata entrata = new Entrata(this.unitOfWork1); entrata.DataOraEntrata = vendita.DataOraStampa; entrata.Quantita = quantita; entrata.RigaStampaIngresso = rigastampa; entrata.Save(); this.unitOfWork1.CommitChanges(); DialogResult = System.Windows.Forms.DialogResult.OK; } } else { XtraMessageBox.Show("Selezionare Variante e Postazione", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private bool CreaVendita() { using (UnitOfWork uow = new UnitOfWork()) { Vendita vendita = new Vendita(uow); vendita.Incasso = this.checkEditPos.Checked ? EnumIncasso.Pos : EnumIncasso.Contanti; vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.CodicePrevent = ""; vendita.DataContabile = DateTime.Now.Date; vendita.DataOraStampa = DateTime.Now; vendita.Descrizione = ""; vendita.Utente = uow.GetObjectByKey <Utente>(Program.UtenteCollegato.Oid); vendita.Postazione = uow.GetObjectByKey <Postazione>(Program.Postazione.Oid); vendita.Struttura = uow.GetObjectByKey <Struttura>(Program.Postazione.Struttura.Oid); vendita.TotalePersone = ElencoCard.Count; vendita.TotaleImporto = CalcolaTotale(ElencoCard); vendita.Save(); Percorso per = uow.FindObject <Percorso>(new BinaryOperator("Descrizione", "MyFE")); for (int i = 0; i < ElencoCard.Count; i++) { Card card = uow.GetObjectByKey <Card>(ElencoCard[i].Oid); Variante v1 = per.GetVarianteMyFe("Com", "C", card.TipologiaCard); Variante v2 = per.GetVarianteMyFe("Pin", "C", card.TipologiaCard); if (v1 == null || v2 == null) //if (v1 == null) { XtraMessageBox.Show("Tariffa per le card mancante", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } decimal totale = v1.Prezzo + (v2 != null ? v2.Prezzo : 0); List <Ingresso> ingressi = new List <Ingresso>(); ingressi.AddRange(per.Ingressi); RigaVenditaVariante rvv1 = new RigaVenditaVariante(uow); rvv1.PrezzoTotale = v1.Prezzo; rvv1.PrezzoUnitario = v1.Prezzo; rvv1.Profilo = i; rvv1.Quantita = 1; rvv1.Variante = v1; rvv1.Vendita = vendita; rvv1.Card = card; rvv1.Save(); if (v2 != null) { RigaVenditaVariante rvv2 = new RigaVenditaVariante(uow); rvv2.PrezzoTotale = v2.Prezzo; rvv2.PrezzoUnitario = v2.Prezzo; rvv2.Profilo = i; rvv2.Quantita = 1; rvv2.Variante = v2; rvv2.Vendita = vendita; rvv2.Card = card; rvv2.Save(); } DateTime inizioVal = DateTime.Now.Date; DateTime fineVal = inizioVal.AddDays(card.Giorni() - 1); Stampa stampa = new Stampa(uow); stampa.Vendita = vendita; stampa.InizioValidita = inizioVal; stampa.FineValidita = fineVal; stampa.Quantita = 1; stampa.ImportoTotale = totale; stampa.StatoStampa = i; stampa.TipoStampa = _Albergo ? EnumTipoStampa.CardAlbergatori : EnumTipoStampa.Card; stampa.Card = card; stampa.Save(); stampa.GeneraBarCode(Program.Postazione, ingressi); card.Status = EnumStatoCard.Emessa; card.Stampa = stampa; if (_Albergo) { card.Albergo = uow.GetObjectByKey <AnagraficaCard>((this.lookUpEditAlbergo.EditValue as AnagraficaCard).Oid); } card.Save(); Stampa doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(Program.Postazione, ingressi); } } } stampa.Save(); foreach (Ingresso ingresso in per.Ingressi) { RigaStampaIngresso rigaingresso = new RigaStampaIngresso(uow); rigaingresso.Ingresso = uow.GetObjectByKey <Ingresso>(ingresso.Oid); rigaingresso.Stampa = stampa; rigaingresso.TotalePersone = 1; rigaingresso.Save(); } } if (!_Albergo) { // registra ingressi per QUESTA postazione foreach (Stampa item1 in vendita.Stampe) { foreach (RigaStampaIngresso item2 in item1.RigheStampaIngresso) { if (VarcoPostazione(item2)) { Entrata entrata = new Entrata(uow); entrata.DataOraEntrata = vendita.DataOraStampa; entrata.Quantita = item2.TotalePersone; entrata.RigaStampaIngresso = item2; entrata.Save(); item2.TotaleIngressi = item2.TotalePersone; item2.Save(); } } } } else { } uow.CommitChanges(); m_Vendita = this._UnitOfWork.GetObjectByKey <Vendita>(vendita.Oid); } return(true); }
private static void CreaVendita(MyFeData myFeData) { //var aprile = new DateTime(2016, 4, 1); //if (myFeData.InseritaIlDateTime.Date >= aprile) return; using (UnitOfWork uow = new UnitOfWork()) { Utente utente = uow.FindObject <Utente>(new BinaryOperator("AdUsername", "Internet")); Postazione postazione = uow.FindObject <Postazione>(new BinaryOperator("CodiceUnivoco", 1)); if (utente == null) { throw new Exception("Manca utente INTERNET"); } if (postazione == null) { throw new Exception("Manca postazione INTERNET, CodiceUnivoco==1"); } var obj = uow.FindObject <Card>(new BinaryOperator("Codice", myFeData.CodiceTessera)); if (obj != null) { throw new Exception("VENDITA: Esiste già card con codice: " + myFeData.CodiceTessera); } TransazioneWeb trans = new TransazioneWeb(uow); trans.PuntoVendita = myFeData.PuntoVendita; trans.Cliente = myFeData.Cliente; trans.EmailCliente = myFeData.EmailCliente; trans.IDCliente = myFeData.IDCliente; trans.Transazione = myFeData.Transazione; trans.InseritaIl = myFeData.InseritaIl; trans.TitolareCarta = myFeData.TitolareCarta; trans.EmailTitolare = myFeData.EmailTitolare; trans.Inizio = myFeData.Inizio; trans.Fine = myFeData.Fine; trans.Giorni = myFeData.Giorni; trans.Prodotto = myFeData.Prodotto; trans.CodiceOperazione = myFeData.CodiceOperazione; trans.CodiceTessera = myFeData.CodiceTessera; trans.TipoOperazione = myFeData.TipoOperazione; trans.Quantita = myFeData.Quantita; trans.InseritaIlDateTime = myFeData.InseritaIlDateTime; trans.InizioDateTime = myFeData.InizioDateTime; trans.FineDateTime = myFeData.FineDateTime; trans.Save(); Card card = new Card(uow); card.Codice = myFeData.CodiceTessera; card.AssegnataIl = myFeData.InseritaIlDateTime; card.AssegnataStruttura = postazione.Struttura; card.AssegnataUtente = utente; card.Status = EnumStatoCard.Emessa; card.Email = myFeData.EmailTitolare; card.Cliente = myFeData.Cliente; card.TitolareCarta = myFeData.TitolareCarta; card.CodiceOperazione = myFeData.CodiceOperazione; card.Transazione = myFeData.Transazione; card.VendutaOnline = true; card.EmessoBiglietto = false; switch (myFeData.Giorni) { case "2": card.TipologiaCard = EnumTipologiaCard.Card2Giorni; break; case "3": card.TipologiaCard = EnumTipologiaCard.Card3Giorni; break; case "6": card.TipologiaCard = EnumTipologiaCard.Card6Giorni; break; } card.Save(); Vendita vendita = new Vendita(uow); vendita.Incasso = EnumIncasso.Internet; vendita.CodiceLeggibile = Vendita.NuovoCodiceVendita(); vendita.CodicePrevent = ""; vendita.DataContabile = myFeData.InseritaIlDateTime.Date; vendita.DataOraStampa = myFeData.InseritaIlDateTime; vendita.Descrizione = myFeData.TitolareCarta; vendita.Utente = utente; vendita.Postazione = postazione; vendita.Struttura = postazione.Struttura; vendita.TotalePersone = 1; vendita.TotaleImporto = card.Importo; vendita.Save(); Percorso per = uow.FindObject <Percorso>(new BinaryOperator("Descrizione", "MyFE")); Variante v1 = per.GetVarianteMyFe("Com", "C", card.TipologiaCard); Variante v2 = per.GetVarianteMyFe("Pin", "C", card.TipologiaCard); if (v1 == null || v2 == null) //if (v1 == null) { throw new Exception("Manca tariffa"); //XtraMessageBox.Show("Tariffa per le card mancante", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); //return false; } decimal totale = v1.Prezzo + (v2 != null ? v2.Prezzo : 0); List <Ingresso> ingressi = new List <Ingresso>(); ingressi.AddRange(per.Ingressi); RigaVenditaVariante rvv1 = new RigaVenditaVariante(uow); rvv1.PrezzoTotale = v1.Prezzo; rvv1.PrezzoUnitario = v1.Prezzo; rvv1.Profilo = 0; rvv1.Quantita = 1; rvv1.Variante = v1; rvv1.Vendita = vendita; rvv1.Card = card; rvv1.Save(); if (v2 != null) { RigaVenditaVariante rvv2 = new RigaVenditaVariante(uow); rvv2.PrezzoTotale = v2.Prezzo; rvv2.PrezzoUnitario = v2.Prezzo; rvv2.Profilo = 0; rvv2.Quantita = 1; rvv2.Variante = v2; rvv2.Vendita = vendita; rvv2.Card = card; rvv2.Save(); } DateTime inizioVal = myFeData.InizioDateTime.Date; DateTime fineVal = inizioVal.AddDays(card.Giorni() - 1); Stampa stampa = new Stampa(uow); stampa.Vendita = vendita; stampa.InizioValidita = inizioVal; stampa.FineValidita = fineVal; stampa.Quantita = 1; stampa.ImportoTotale = totale; stampa.StatoStampa = 0; stampa.TipoStampa = EnumTipoStampa.CardInternet; stampa.Card = card; stampa.Save(); stampa.GeneraBarCode(postazione, ingressi); card.Status = EnumStatoCard.Emessa; card.Stampa = stampa; card.Save(); Stampa doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); doppia = uow.FindObject <Stampa>(new BinaryOperator("BarCode", stampa.BarCode)); if (doppia != null) { stampa.GeneraBarCode(postazione, ingressi); } } } stampa.Save(); foreach (Ingresso ingresso in per.Ingressi) { RigaStampaIngresso rigaingresso = new RigaStampaIngresso(uow); rigaingresso.Ingresso = uow.GetObjectByKey <Ingresso>(ingresso.Oid); rigaingresso.Stampa = stampa; rigaingresso.TotalePersone = 1; rigaingresso.Save(); } uow.CommitChanges(); } }
public ProductBoxViewModel(Variante item) { _TypeBox = TypeBox.VARIANTE; this.variante = item; }
private int CargarVariante(int posicionArray, string[] words, ref Variante variante, Jugada jugada) { var word = words[posicionArray]; if (EsJugadaBlanca(word)) { jugada.JugadaBlanco = ExtraerJugada(word); jugada.Estado = Estado.JugadaBlancaCargada; } else if (EsJugadaNegra(word)) { jugada.JugadaNegro = ExtraerJugada(word); jugada.Estado = Estado.JugadaNegraCargada; variante.Jugadas.Add(jugada); } else if (EsComentario(word)) { switch (jugada.Estado) { case Estado.JugadaBlancaSinCargar: { jugada.ComentarioPrevioBlanco += " " + word; break; } case Estado.JugadaBlancaCargada: { jugada.ComentarioPosteriorBlanco += " " + word; break; } case Estado.JugadaNegraCargada: { jugada.ComentarioPosteriorNegro += " " + word; break; } } } if (AbreVariante(word, jugada, variante.NumeroJugadaInicio)) { Variante nuevaVariante = new Variante(jugada.NumeroJugada); Jugada jugadaDeVariante = new Jugada(jugada.NumeroJugada); jugadaDeVariante.Estado = jugada.Estado; words[posicionArray] = EliminarAbridorVariante(word); int posicionesAvanzadas = CargarVariante(posicionArray, words, ref nuevaVariante, jugadaDeVariante); if (jugada.Estado == Estado.JugadaBlancaCargada) { if (jugada.VariantesBlanco != null) { jugada.VariantesBlanco.Add(nuevaVariante); } } posicionArray = posicionesAvanzadas; } if (CierraVariante(word)) { posicionArray++; return(posicionArray); } if (jugada.Estado == Estado.JugadaNegraCargada) { return(CargarVariante(posicionArray++, words, ref variante, new Jugada(jugada.NumeroJugada + 1))); } else { return(CargarVariante(posicionArray++, words, ref variante, jugada)); } }