public void crudFormatiCarta() { using (LumenEntities context = new LumenEntities()) { Random r = new Random(); FormatoCarta fc = new FormatoCarta(); fc.id = Guid.NewGuid(); fc.descrizione = "Test-" + r.Next(1000, 9999); fc.prezzo = r.Next(1, 50); fc.attivo = true; fc.ordinamento = (short)r.Next(1, 100); context.FormatiCarta.Add(fc); int test = context.SaveChanges(); Assert.IsTrue(test > 0); var trovato = context.FormatiCarta.Any(c => c.descrizione.StartsWith("Test-")); Assert.IsTrue(trovato); FormatoCarta carta = context.FormatiCarta.First(c => c.descrizione.StartsWith("Test-")); Assert.IsNotNull(carta); } }
public static FormatoCarta ottieniFormatoCarta(LumenEntities dbContext, string formato) { FormatoCarta fc; // Provo a vedere se esiste nelle entita appena aggiunte fc = ((IObjectContextAdapter)dbContext).ObjectContext.ObjectStateManager.GetObjectStateEntries(EntityState.Added) .Where(e => !e.IsRelationship) .Select(e => e.Entity) .OfType <FormatoCarta>() .FirstOrDefault(m => m.descrizione.Equals(formato)); if (fc == null) { fc = dbContext.FormatiCarta.FirstOrDefault <FormatoCarta>(f => f.descrizione == formato); if (fc == null) { fc = new FormatoCarta(); fc.id = Guid.NewGuid(); fc.prezzo = new Decimal(numeroRandom(3, 15)); fc.descrizione = formato; dbContext.FormatiCarta.Add(fc); } } return(fc); }
/// <summary> /// istanzia un oggetto nomeCartellaRecente tipo FormatoCarta, pronto per essere utilizzato nella creazione /// nomeCartellaRecente un nuovo fotografoSelezionato, in caso nell'elenco mancasse. /// </summary> private void istanziaNuovoFormatoCarta() { // Questo è d'appoggio per la creazione nomeCartellaRecente un nuovo formatoCartaSelezionato al volo nuovoFormatoCarta = new FormatoCarta(); nuovoFormatoCarta.id = Guid.NewGuid(); nuovoFormatoCarta.attivo = true; OnPropertyChanged("nuovoFormatoCarta"); }
private ParamStampaFoto ricavaParamStampa(string grandezza) { ParamStampaFoto p = new ParamStampaFoto(); p.nomeStampante = "doPDF 9"; LumenEntities dbContext = UnitOfWorkScope.currentDbContext; FormatoCarta formato = dbContext.FormatiCarta.FirstOrDefault(fc => fc.grandezza == grandezza); p.formatoCarta = formato; return(p); }
private string ricavaStampante(FormatoCarta formatoCarta) { _giornale.Warn("Come mai non è definita la stampante? Va beh, la determino io"); StampanteAbbinata sa = stampantiAbbinate.FirstOrDefault <StampanteAbbinata>(s => s.FormatoCarta.Equals(formatoCarta)); String nomeStampante = null; if (sa != null) { nomeStampante = sa.StampanteInstallata.NomeStampante; } else { _giornale.Warn("Non riesco a stabilire la stampante di questa carta: " + formatoCarta.descrizione + "(id=" + formatoCarta.id + ")"); } return(nomeStampante); }
private ParamStampaFoto ricavaParamStampaFoto() { ParamStampaFoto p = new ParamStampaFoto(); // Vediamo se esiste il formato // TODO : creare un nuovo attributo che identifica il formato carta come chiave naturale (per esempio A4 oppure 6x8) LumenEntities dbContext = UnitOfWorkScope.currentDbContext; FormatoCarta formato = Utilita.ottieniFormatoCarta(dbContext, "A5"); formato.prezzo = 5; p.formatoCarta = formato; p.nomeStampante = Costanti.NomeStampantePdf; // Qui non si deve spaccare Digiphoto.Lumen.Database.OrmUtil.forseAttacca <FormatoCarta>(ref formato); return(p); }
private void eliminareFormatoCarta() { FormatoCarta dacanc = formatoCartaSelezionato; try { try { OrmUtil.forseAttacca(ref dacanc); } catch (Exception) { } var test = UnitOfWorkScope.currentDbContext.FormatiCarta.Remove(dacanc); var test2 = UnitOfWorkScope.currentDbContext.SaveChanges(); // Se tutto è andato bene, allora rimuovo l'elemento dalla collezione visuale. formatoCartaSelezionato = null; formatiCarta.Remove(dacanc); } catch (Exception ee) { UnitOfWorkScope.currentObjectContext.ObjectStateManager.ChangeObjectState(dacanc, System.Data.Entity.EntityState.Unchanged); throw ee; } }
public static void classInitialize(TestContext testContext) { LumenApplication.Instance.avvia(); // // using (new UnitOfWorkScope(false)) { // Controllo che le condizioni per il test siano verificate (formati carta e prezzi) LumenEntities dbContext = UnitOfWorkScope.currentDbContext; FormatoCarta frmPiccolo = dbContext.FormatiCarta.FirstOrDefault(fc => fc.grandezza == "P" && fc.prezzo == PRZ_FRM_PIC); if (frmPiccolo == null) { throw new InvalidOperationException("Manca il formato carta piccolo da " + PRZ_FRM_PIC + " euro"); } FormatoCarta frmMedio = dbContext.FormatiCarta.FirstOrDefault(fc => fc.grandezza == "M" && fc.prezzo == PRZ_FRM_MED); if (frmMedio == null) { throw new InvalidOperationException("Manca il formato carta medio da " + PRZ_FRM_MED + " euro"); } FormatoCarta frmGrande = dbContext.FormatiCarta.FirstOrDefault(fc => fc.grandezza == "G" && fc.prezzo == PRZ_FRM_BIG); if (frmGrande == null) { throw new InvalidOperationException("Manca il formato carta grande da " + PRZ_FRM_BIG + " euro"); } ProdottoFile prodFile = dbContext.ProdottiFile.FirstOrDefault(pf => pf.prezzo == PRZ_FRM_FILE); if (prodFile == null) { throw new InvalidOperationException("Manca il prodotto file da " + PRZ_FRM_FILE + " euro"); } } }
/// <summary> /// metodo factory /// </summary> /// <param name="stampanteInstallata"></param> /// <param name="formatoCarta"></param> /// <returns></returns> public static StampanteAbbinata create(StampanteInstallata stampanteInstallata, FormatoCarta formatoCarta) { StampanteAbbinata stpAbbi = new StampanteAbbinata(stampanteInstallata, formatoCarta); stpAbbi.ratio = determinaRatio(stampanteInstallata.NomeStampante); return(stpAbbi); }
public static List <StampanteAbbinata> deserializzaList(String strStampantiAbbinate) { List <StampanteAbbinata> list = new List <StampanteAbbinata>(); if (String.IsNullOrEmpty(strStampantiAbbinate)) { return(list); } String [] righe = strStampantiAbbinate.Split(CHAR_SEP_RIGHE.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); LumenEntities dbContext = UnitOfWorkScope.currentDbContext; List <String> stampantiNonTrovate = new List <String>(); for (int i = 0; i < righe.Length; i++) { string [] campi = righe [i].Split(CHAR_SEP_COLONNE.ToCharArray()); Guid idFormatoCarta = new Guid(campi[0]); String stampante = campi[1]; FormatoCarta formatoCarta = dbContext.FormatiCarta.SingleOrDefault(f => f.id == idFormatoCarta); if (formatoCarta != null) { IStampantiInstallateSrv stampantiInstallateSrv = LumenApplication.Instance.getServizioAvviato <IStampantiInstallateSrv>(); StampanteInstallata stampanteInstallata = stampantiInstallateSrv.getStampanteInstallataByString(stampante); if (stampanteInstallata != null) { list.Add(create(stampanteInstallata, formatoCarta)); } else { stampantiNonTrovate.Add(stampante); } } } if (stampantiNonTrovate.Count > 0) { Messaggio msg = new Messaggio(typeof(StampantiAbbinateUtil)); String stampanti = ""; foreach (String stampante in stampantiNonTrovate) { stampanti += stampante + "\n"; } if (stampantiNonTrovate.Count == 1) { msg.descrizione = "La stampante " + stampanti + " non è stata trovata"; } else { msg.descrizione = "Le stampanti " + stampanti + " non sono state trovate"; } msg.showInStatusBar = true; pubblicaMessaggio(msg); } // Ordino la lista per il valore di ordinamento impostato nel database nel formato carta. list.Sort(StampanteAbbinata.CompareByImportanza); return(list); }
public void spaccatoIncassiFotografiTest() { using (new UnitOfWorkScope()) { FormatoCarta formatoCarta = UnitOfWorkScope.currentDbContext.FormatiCarta.First(); ParamStampaFoto paramStampa = new ParamStampaFoto { nomeStampante = "doPDF 9", formatoCarta = formatoCarta, }; _impl.creareNuovoCarrello(); _impl.carrello.prezzoDischetto = (decimal)27.9; // Carico 3 fotografi tra quelli che hanno delle foto var idFotografi = UnitOfWorkScope.currentDbContext.Fotografie.Select(f => f.fotografo).Distinct().Take(3); Fotografo [] arrayF = idFotografi.ToArray(); if (idFotografi.Count() != 3) { return; } string par1 = arrayF[0].id; var fotos1 = UnitOfWorkScope.currentDbContext.Fotografie.Where(f => f.fotografo.id == par1).Take(2).ToList(); string par2 = arrayF[1].id; var fotos2 = UnitOfWorkScope.currentDbContext.Fotografie.Where(f => f.fotografo.id == par2).Take(3).ToList(); string par3 = arrayF[2].id; var fotos3 = UnitOfWorkScope.currentDbContext.Fotografie.Where(f => f.fotografo.id == par3).Take(4).ToList(); paramStampa.numCopie = 1; _impl.aggiungereStampe(fotos1, paramStampa); paramStampa.numCopie = 2; _impl.aggiungereStampe(fotos2, paramStampa); paramStampa.numCopie = 3; _impl.aggiungereStampe(fotos3, paramStampa); _impl.aggiungereMasterizzate(fotos1); _impl.aggiungereMasterizzate(fotos2); _impl.aggiungereMasterizzate(fotos3); string msgEsito = _impl.salvareCarrello(); bool esito = (msgEsito == null); Assert.IsTrue(esito); Carrello cc = _impl.carrello; decimal soldi1 = (fotos1.Count() * 1 * formatoCarta.prezzo); decimal soldi2 = (fotos2.Count() * 2 * formatoCarta.prezzo); decimal soldi3 = (fotos3.Count() * 3 * formatoCarta.prezzo); decimal soldi = soldi1 + soldi2 + soldi3 + (decimal)27.9; // Ora faccio un pò di verifiche Assert.IsTrue(cc.totaleAPagare == soldi); // Il totale da pagare, deve essere la somma degli incassi dei fotografi decimal somma = cc.incassiFotografi.Sum(ii => ii.incasso); Assert.IsTrue(cc.totaleAPagare == somma); // La somma dei ...DI CUI.. deve essere uguale al totale decimal ima = cc.incassiFotografi.Sum(ii => ii.incassoMasterizzate); decimal ist = cc.incassiFotografi.Sum(ii => ii.incassoStampe); Assert.IsTrue(ima + ist == somma); Assert.IsTrue(ima == cc.prezzoDischetto); } }
public override int GetHashCode() { return(17 + 31 * FormatoCarta.GetHashCode() + 31 * StampanteInstallata.GetHashCode()); }
/// <summary> /// Per costruire questa classe passare per il metodo StampantiAbbinateUtil::create /// </summary> internal StampanteAbbinata(StampanteInstallata stampanteInstallata, FormatoCarta formatoCarta) { this.StampanteInstallata = stampanteInstallata; this.FormatoCarta = formatoCarta; }