Beispiel #1
0
        public static Processor ModifyFirstProcessor()
        {
            try {
                using (var context = new ComputerDBContext()) {
                    using (var transaction = context.Database.BeginTransaction()) {
                        try {
                            Processor processor = context.Database.SqlQuery <Processor>("SELECT * FROM Processors WHERE Id = (SELECT MIN(id) FROM Processors)").FirstOrDefault();
                            if (processor != null)
                            {
                                Processor newProcessor = new Processor();
                                Processor.CopyProperties(processor, newProcessor);
                                newProcessor.Id = 0;
                                context.Processors.Add(newProcessor);
                                context.SaveChanges();

                                SqlParameter param = new SqlParameter("Id", processor.Id);
                                context.Database.ExecuteSqlCommand(@"UPDATE Processors SET CoresCount = @Cores, Model = CONCAT(Model, @Suffix) WHERE Id = @Id", new object[] {
                                    new SqlParameter("@Id", processor.Id),
                                    new SqlParameter("@Cores", processor.CoresCount * 2),
                                    new SqlParameter("@Suffix", " -> (" + newProcessor.Id + ")")
                                });
                            }
                            transaction.Commit();
                            return(Find(processor.Id));
                        } catch (Exception ex) {
                            transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            } catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
            return(null);
        }
Beispiel #2
0
 public static Processor Find(int id)
 {
     try {
         using (var context = new ComputerDBContext()) {
             return(context.Processors.FirstOrDefault(p => p.Id == id));
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
     return(null);
 }
Beispiel #3
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     using (var context = new ComputerDBContext()) {
         Processor processor = new Processor {
             Model      = "Core i7",
             Developer  = "Intel",
             CoresCount = 8
         };
         context.Processors.Add(processor);
         context.SaveChanges();
     }
 }
Beispiel #4
0
 public static Processor Create(Processor processor)
 {
     try {
         using (var context = new ComputerDBContext()) {
             context.Processors.Add(processor);
             context.SaveChanges();
             return(processor);
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
     return(null);
 }
Beispiel #5
0
 public static List <Processor> Find(string developer, int coresCount)
 {
     try {
         using (var context = new ComputerDBContext()) {
             return((from p in context.Processors
                     where p.Developer.ToLower().StartsWith(developer.ToLower()) && p.CoresCount == coresCount
                     orderby p.Model ascending
                     select p).ToList());
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
     return(null);
 }
Beispiel #6
0
 public static Processor Update(Processor processor)
 {
     try {
         using (var context = new ComputerDBContext()) {
             context.Processors.Attach(processor);
             context.Entry(processor).State = EntityState.Modified;
             context.SaveChanges();
             return(processor);
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
     return(null);
 }
Beispiel #7
0
 public static Processor Update(int id, string model, string developer, int coresCount)
 {
     try {
         using (var context = new ComputerDBContext()) {
             Processor processor = Find(id);
             if (processor != null)
             {
                 processor.Model      = model;
                 processor.Developer  = developer;
                 processor.CoresCount = coresCount;
                 context.SaveChanges();
             }
             return(processor);
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
     return(null);
 }