示例#1
0
        public void SaveFoto(Foto fotos, byte[] myBytes, string percorsoFileFoto)
        {
            try
            {
                //se la foto è la principale devo settare le altre a false
                if (fotos.Principale == true)
                {
                    var lstFoto = new FotoDAC(ConnectionString).GetFoto(fotos.idAnagrafica);
                    foreach (var ft in lstFoto)
                    {
                        if (ft.Principale == true)
                        {
                            ft.Principale = false;
                            new FotoDAC(ConnectionString).Save(ft);
                        }
                    }
                }
                new FotoDAC(ConnectionString).Save(fotos);

                var percorso = Path.Combine(percorsoFileFoto, fotos.idAnagrafica.ToString());
                WriteToFile(percorso, fotos.Nome, myBytes);
            }
            catch (Exception ex)
            {
                var dex = new DataException(ex.Message);
                throw new FaultException <DataException>(dex, new FaultReason(ex.Message), new FaultCode("Sender"));
            }
        }
示例#2
0
        public void SalvaModificheFoto(int idFoto, bool elimina)
        {
            Foto foto = new FotoDAC(ConnectionString).Load(idFoto);

            if (elimina == false) //imposto la foto come di default
            {
                foto.Principale = true;
                var lstFoto = new List <Foto>();
                lstFoto.Add(foto);
                SaveFotoList(lstFoto);
            }
            else
            {
                //elimino il file dal percorso
                try
                {
                    string percorsoFileFoto = ConfigurationManager.AppSettings["PercorsoSalvataggioFoto"];
                    var    percorso         = Path.Combine(percorsoFileFoto, foto.idAnagrafica.ToString());
                    DeleteToFile(percorso, foto.Nome);
                }
                catch (Exception) //in caso di errore non effettuo nessun controllo o intervento
                { }
                try
                {
                    new FotoDAC(ConnectionString).Delete(foto);
                }
                catch (Exception ex)
                {
                    var dex = new DataException(ex.Message);
                    throw new FaultException <DataException>(dex, new FaultReason(ex.Message), new FaultCode("Sender"));
                }
            }
        }
示例#3
0
 public void SaveFotoList(List <Foto> fotos)
 {
     using (TransactionScope transaction = new TransactionScope())
     {
         try
         {
             foreach (var foto in fotos)
             {
                 //se la foto è la principale devo settare le altre a false
                 if (foto.Principale == true)
                 {
                     var lstFoto = new FotoDAC(ConnectionString).GetFoto(foto.idAnagrafica);
                     foreach (var ft in lstFoto)
                     {
                         if (ft.Principale == true)
                         {
                             ft.Principale = false;
                             new FotoDAC(ConnectionString).Save(ft);
                         }
                     }
                 }
                 new FotoDAC(ConnectionString).Save(foto);
             }
             transaction.Complete();
         }
         catch (Exception ex)
         {
             var dex = new DataException(ex.Message);
             throw new FaultException <DataException>(dex, new FaultReason(ex.Message), new FaultCode("Sender"));
         }
     }
 }