public ActionResult UpdateDetails(Account acc)
        {
            var AccData2 = _context.Accounts.Where(x => x.AccountNumber == acc.AccountNumber).FirstOrDefault();

            if (ModelState.IsValid)
            {
                AccData2.FirstName             = acc.FirstName;
                AccData2.LastName              = acc.LastName;
                AccData2.Password              = acc.Password;
                AccData2.Phone                 = acc.Phone;
                AccData2.Email                 = acc.Email;
                AccData2.Address               = acc.Address;
                AccData2.ConfirmPassword       = acc.ConfirmPassword;
                AccData2.FirstName             = acc.FirstName;
                _context.Entry(AccData2).State = EntityState.Modified;

                _context.SaveChanges();

                TempData["Message"] = " Your Account Details were Succesfully Updated ";

                return(RedirectToAction("../Home/Redirect"));
            }


            return(View(acc));
        }
Example #2
0
 public ActionResult Create(Models.Rol rol)
 {
     Models.Rol _rol = new Models.Rol();
     _rol.Ad = rol.Ad;
     db.Rol.Add(_rol);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Example #3
0
 public ActionResult Creat(Models.Durum durum)
 {
     Models.Durum _durum = new Models.Durum();
     _durum.Ad = durum.Ad;
     db.Durum.Add(_durum);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Example #4
0
        public ActionResult Creat(Models.Urun urun)
        {
            Models.Urun _urun = new Models.Urun();

            _urun.Ad = urun.Ad;
            db.Urun.Add(_urun);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #5
0
 public ActionResult <Item> PostNew(long id, Item item)
 {
     if (id != item.Id)
     {
         return(BadRequest());
     }
     ctx.Items.Remove(item);
     ctx.SaveChanges();
     return(NoContent());
 }
        public ActionResult AddStaff(StaffModel staff)
        {
            if (!ModelState.IsValid)
            {
                return(View(new StaffModel()));
            }
            var x            = new Staff();
            var managerEmail = Session["LoginName"].ToString();
            var managerId    = db.Managers.Where(m => m.Email == managerEmail).FirstOrDefault().Id;

            x.Name      = staff.Name;
            x.Email     = staff.Email;
            x.Password  = staff.Password;
            x.ManagerId = managerId;
            x.Salary    = staff.Salary;
            x.Phone     = staff.Phone != null ? staff.Phone : null;
            db.Staffs.Add(x);
            int r = db.SaveChanges();

            if (r > 0)
            {
                return(Redirect(Url.Action("Index", "Home")));
            }
            else
            {
                return(View(new StaffModel()));
            }
        }
        public ActionResult Creat(Models.KargoSirketi kargoSirketi)
        {
            Models.KargoSirketi _kargoSirketi = new Models.KargoSirketi();
            _kargoSirketi.Ad      = kargoSirketi.Ad;
            _kargoSirketi.VergiNo = kargoSirketi.VergiNo;
            db.KargoSirketi.Add(_kargoSirketi);
            db.SaveChanges();


            return(RedirectToAction("Index"));
        }
        public ActionResult EditStaff(Staff s)
        {
            db.Staffs.AddOrUpdate(s);
            int r = db.SaveChanges();

            if (r > 0)
            {
                return(Redirect(Url.Action("Index", "Home")));
            }
            return(Redirect(Url.Action("EditStaff", "Manager", new { id = s.Id })));
        }
Example #9
0
 public ActionResult Create(int kargoSirketiId, string Tc, string Ad, string Soyad, string Tel)
 {
     Models.Kargocu _kargocu = new Models.Kargocu();
     _kargocu.Ad             = Ad;
     _kargocu.Soyad          = Soyad;
     _kargocu.TcNo           = Tc;
     _kargocu.TelNo          = Tel;
     _kargocu.KargoSirketiId = kargoSirketiId;
     db.Kargocu.Add(_kargocu);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Example #10
0
 public ActionResult Create(int rolId, string Tc, string Ad, string Soyad, string Email, string Sifre)
 {
     Models.Kullanici _kullanici = new Models.Kullanici();
     _kullanici.Ad    = Ad;
     _kullanici.Soyad = Soyad;
     _kullanici.TcNo  = Tc;
     _kullanici.Email = Email;
     _kullanici.Sifre = Sifre;
     _kullanici.RolId = rolId;
     db.Kullanici.Add(_kullanici);
     db.SaveChanges();
     return(RedirectToAction("Index", "Giris"));
 }
Example #11
0
        public ActionResult Create(int KargocuId, int UrunId, int DurumID)
        {
            //asdasd
            Models.Kargo _kargo = new Models.Kargo();
            _kargo.SonIslemTarihi = DateTime.Now;
            _kargo.KargocuId =KargocuId ;
            _kargo.UrunId = UrunId;
            _kargo.DurumID = DurumID;           
            db.Kargo.Add(_kargo);
            db.SaveChanges();
            return RedirectToAction("Index");

        }
Example #12
0
        public ActionResult Deposit(TransactionDetail obj)
        {
            int AccountNumber          = Convert.ToInt32(obj.AccountNumber);
            var AccData2               = _context.Accounts.Where(x => x.AccountNumber == AccountNumber).FirstOrDefault();
            TransactionDetail AccData  = new TransactionDetail();
            PassBook          AccData3 = new PassBook();

            if (AccData2 != null)
            {
                AccData2.AccountNumber = obj.AccountNumber;
                AccData2.Balance       = AccData2.Balance + obj.Amount;
                // AccData.TimeofTransaction = DateTime.Now;
                _context.Entry(AccData2).State = EntityState.Modified;
                _context.SaveChanges();
            }

            AccData.AccountNumber     = AccData2.AccountNumber;
            AccData.Amount            = obj.Amount;
            AccData.TimeofTransaction = DateTime.Now;

            AccData3.AccountNumber     = AccData2.AccountNumber;
            AccData3.Amount            = obj.Amount;
            AccData3.TimeofTransaction = DateTime.Now;
            AccData3.Mode = "Deposit";
            _context.TransactionDetails.Add(AccData);
            _context.SaveChanges();
            _context.PassBooks.Add(AccData3);
            _context.SaveChanges();

            TempData["Message"] = " Amount Rs. " + Convert.ToString(AccData.Amount) + " was successfully Deposited ";

            return(RedirectToAction("../Home/Redirect"));
        }
        public ActionResult Register(Account acc)
        {
            Account AccData = new Account();
            var     data    = _context.Accounts.ToList().Count() + 5;
            var     obj1    = _context.Accounts.Where(a => a.Email.Equals(acc.Email)).FirstOrDefault();

            if (obj1 != null)
            {
                TempData["Message"] = " Account already exists with this Email : " + Convert.ToString(acc.Email);
                return(View());
            }
            if (ModelState.IsValid)
            {
                AccData.AccountNumber   = Convert.ToInt64(data) + 1 + 2000;
                AccData.FirstName       = acc.FirstName;
                AccData.LastName        = acc.LastName;
                AccData.Email           = acc.Email;
                AccData.Password        = acc.Password;
                AccData.ConfirmPassword = acc.ConfirmPassword;
                AccData.Phone           = acc.Phone;
                AccData.Address         = acc.Address;
                AccData.Balance         = acc.Balance;
                _context.Accounts.Add(AccData);
                var re     = new EmailController().Email(Convert.ToString(AccData.AccountNumber), Convert.ToString(AccData.Email));
                var result = new SmsController().Rr(Convert.ToString(AccData.AccountNumber), Convert.ToString(AccData.Phone));
                _context.SaveChanges();

                TempData["Message"] = " Your generated account Number is : " + Convert.ToString(AccData.AccountNumber);
                return(RedirectToAction("Login"));
            }
            return(View(acc));
        }
Example #14
0
 public void TypeCipher()
 {
     for (int i = 0; i < LastRusSmallWord; i++)
     {
         ciph[i] = new Models.Cipher();
     }
     Models.Context contx = new Models.Context();
     for (int i = 1; i < LastRusSmallWord + 1; i++)
     {
         ciph[i - 1].Id          = i;
         ciph[i - 1].oldSymbolId = ((FirstRusBigWord + i - 1));
         int place = FirstRusBigWord + i + 6;
         if (place > LastRusSmallWord)
         {
             place = place - 64;
         }
         ciph[i - 1].newSymbol = ((char)place).ToString();
         contx.CipherTable.Add(ciph[i - 1]);
     }
     contx.SaveChanges();
     Models.Context test = new Models.Context();
     Models.Cipher  temp = new Models.Cipher();
     foreach (Models.Cipher a in test.CipherTable)
     {
         temp = a;
     }
 }
Example #15
0
        public ActionResult NowyProgram(NowaKarta nowyProgram)
        {
            var context = new Models.Context();
            var program = new Program();

            if (nowyProgram.Id > 0)
            {
                program = context.ProgramyStudiow.Where(p => !p.Usuniety.HasValue).FirstOrDefault(p => p.Id == nowyProgram.Id);
            }

            program.WydzialId           = nowyProgram.WydzialId;
            program.KierunekId          = nowyProgram.KierunekId;
            program.PoziomId            = nowyProgram.PoziomId;
            program.ProfilKsztalceniaId = nowyProgram.ProfilKsztalceniaId;
            program.ObszarKsztalceniaId = nowyProgram.ObszarKsztalceniaId;
            program.GrupaPrzedmiotowId  = nowyProgram.GrupaPrzedmiotowId;
            program.SemestrId           = nowyProgram.SemestrId;
            program.FormaZaliczeniaId   = nowyProgram.FormaZaliczeniaId;
            program.WykladowcaId        = nowyProgram.WykladowcaId;
            program.Nazwa             = nowyProgram.NazwaPrzedmiotu;
            program.SpecjalnoscId     = nowyProgram.SpecjalnoscId;
            program.Kod               = nowyProgram.Kod;
            program.PrzedmiotDoWyboru = nowyProgram.DoWyboru;
            program.ECTS              = nowyProgram.ECTS;

            program.LiczbyGodzin.ForEach(lg =>
            {
                var godzina = nowyProgram.Godziny.FirstOrDefault(g => g.TypLiczbGodzinId == lg.TypLiczbaGodzinId);
                if (godzina != null)
                {
                    lg.Stacjonarne    = godzina.Stacjonarne < 0 ? 0 : godzina.Stacjonarne;
                    lg.Niestacjonarne = godzina.Niestacjonarne < 0 ? 0 : godzina.Niestacjonarne;
                }
            });

            nowyProgram.Godziny.Where(godzina => !program.LiczbyGodzin.Any(lg => lg.TypLiczbaGodzinId == godzina.TypLiczbGodzinId)).ForEach(godzina =>
            {
                program.LiczbyGodzin.Add(new LiczbaGodzin()
                {
                    TypLiczbaGodzinId = godzina.TypLiczbGodzinId,
                    Stacjonarne       = godzina.Stacjonarne < 0 ? 0 : godzina.Stacjonarne,
                    Niestacjonarne    = godzina.Niestacjonarne < 0 ? 0 : godzina.Niestacjonarne
                });
            });


            if (nowyProgram.Id > 0)
            {
                context.Entry(program).State = System.Data.Entity.EntityState.Modified;
            }
            else
            {
                context.ProgramyStudiow.Add(program);
            }
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult UserEdit(UserEditViewModel model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                UserEditViewModelStale(context, model);
                return(View(model));
            }

            var user = context.Users.First(u => u.Id == model.Id);

            user.Imie     = model.Imie;
            user.Nazwisko = model.Nazwisko;

            var wydzialyDoUsuniecia = user.Wydzialy.Where(w => !model.WybraneWydzialy.Any(ww => ww == w.Id)).ToList();

            wydzialyDoUsuniecia.ForEach(w => user.Wydzialy.Remove(w));
            var tytulyDoUsuniecia = user.Tytuly.Where(w => !model.WybraneTytuly.Any(ww => ww == w.Id)).ToList();

            tytulyDoUsuniecia.ForEach(w => user.Tytuly.Remove(w));
            var roleDoUsuniecia = user.Roles.Where(w => !model.WybraneRole.Any(ww => ww == w.RoleId)).ToList();

            roleDoUsuniecia.ForEach(w => user.Roles.Remove(w));

            var wydzialyDoDodania = model.WybraneWydzialy.Where(ww => !user.Wydzialy.Any(w => w.Id == ww)).ToList();

            wydzialyDoDodania.ForEach(ww =>
            {
                user.Wydzialy.Add(new UzytkownikWydzialy()
                {
                    WydzialId = ww
                });
            });
            var tytulyDoDodania = model.WybraneTytuly.Where(ww => !user.Tytuly.Any(w => w.Id == ww)).ToList();

            tytulyDoDodania.ForEach(ww =>
            {
                var t = context.Tytuly.Find(ww);
                user.Tytuly.Add(t);
            });
            var roleDoDodania = model.WybraneRole.Where(ww => !user.Roles.Any(w => w.RoleId == ww)).ToList();

            roleDoDodania.ForEach(ww =>
            {
                user.Roles.Add(new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole()
                {
                    RoleId = ww
                });
            });

            context.Entry(user).State = EntityState.Modified;
            context.SaveChanges();

            return(RedirectToAction("Uzytkownicy"));
        }
Example #17
0
        public ActionResult Delete(int id)
        {
            var context = new Models.Context();
            var program = context.ProgramyStudiow.Where(p => !p.Usuniety.HasValue).FirstOrDefault(ps => ps.Id == id);

            program.Usuniety             = DateTime.Now;
            context.Entry(program).State = EntityState.Modified;
            context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #18
0
 private void btn_add_Click(object sender, EventArgs e)
 {
     ScrumTable.Models.Context db   = new Models.Context();
     Models.Drafts             item = new Models.Drafts()
     {
         StoryId = this.StoryId, Content = txt_content.Text, Status = Convert.ToInt32((cbx_status.SelectedItem as Item).Value)
     };
     db.Drafts.Add(item);
     db.SaveChanges();
     MetroMessageBox.Show(this, "Kayıt başarıyla oluşturuldu!..");
     this.Close();
 }
        public ActionResult SpecjalnoscCreate(Specjalnosc model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            context.Specjalnosci.Add(model);
            context.SaveChanges();

            return(RedirectToAction("Specjalnosci", new { id = model.KierunekId }));
        }
        public ActionResult KierunekCreate(Kierunek model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            context.Kierunki.Add(model);
            context.SaveChanges();

            return(RedirectToAction("Kierunki", new { id = model.WydzialId }));
        }
        public ActionResult WydzialCreate(Wydzial model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            context.Wydzialy.Add(model);
            context.SaveChanges();

            return(RedirectToAction("Wydzialy"));
        }
Example #22
0
        public ActionResult MetodyDydaktyczneCreate(MetodyDydaktyczne model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            context.Metody.Add(model);
            context.SaveChanges();

            return(RedirectToAction("MetodyDydaktyczne"));
        }
Example #23
0
        public ActionResult MetodyOcenianiaCreate(MetodyOceniania model)
        {
            var context = new Models.Context();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            context.MetodyOceniania.Add(model);
            context.SaveChanges();

            return(RedirectToAction("OperatingMode"));
        }
Example #24
0
        //GET: Metody/Delete/5
        public ActionResult MetodyOcenianiaDelete(int id)
        {
            var context = new Models.Context();
            var model   = context.MetodyOceniania.Find(id);

            if (model.Programy.Any())
            {
                throw new Exception("Nie można usunąć tej metody!");
            }

            context.MetodyOceniania.Remove(model);
            context.SaveChanges();

            return(RedirectToAction("MetodyOceniania"));
        }
        public ActionResult WydzialDelete(int id)
        {
            var context = new Models.Context();
            var model   = context.Wydzialy.Find(id);

            if (model.Kierunki.Any() || model.Program.Any() || model.Uzytkownicy.Any())
            {
                throw new Exception("Nie można usunąć tego wydziału!");
            }

            context.Wydzialy.Remove(model);
            context.SaveChanges();

            return(RedirectToAction("Wydzialy"));
        }
        public ActionResult SpecjalnoscDelete(int id)
        {
            var context = new Models.Context();
            var model   = context.Specjalnosci.Find(id);

            if (model.Programy.Any())
            {
                throw new Exception("Nie można usunąć tego kierunku!");
            }
            var kierunekId = model.KierunekId;

            context.Specjalnosci.Remove(model);
            context.SaveChanges();

            return(RedirectToAction("Specjalnosci", new { id = kierunekId }));
        }
Example #27
0
        public ViewResult RsvpForm(MvcApplication1.Models.MessageFromClient client)
        {
            Models.Context test = new Models.Context();
            Models.Cipher  temp = new Models.Cipher();
            //TypeCipher();

            foreach (Models.Cipher a in test.CipherTable)
            {
                temp = a;
            }
            int    hour = DateTime.Now.Hour;
            int    min = DateTime.Now.Minute;
            int    sec = DateTime.Now.Second; int moun = DateTime.Now.Month; int year = DateTime.Now.Year;
            string time = hour.ToString() + ":" + min.ToString() + ":" + sec.ToString() + ":" + moun.ToString() + ":" + year.ToString();

            // ViewBag.Greeting = time;
            client.Time = time;
            if (ModelState.IsValid)
            {
                Models.Context contx = new Models.Context();
                string         code  = "";
                code             = ToDoCode(client.Message);
                ViewBag.Greeting = code;
                contx.DateMessage.Add(client);
                contx.SaveChanges();
                int           index     = 0;
                List <string> allcipher = new List <string>();
                List <string> alltime   = new List <string>();
                foreach (Models.MessageFromClient c in contx.DateMessage)
                {
                    var k = c;
                    allcipher.Add(ToDoCode(k.Message));
                    alltime.Add(k.Time);
                }
                ViewBag.AllCipher = allcipher;
                ViewBag.AllTime   = alltime;

                return(View("Thanks", client));
            }
            else
            {
                return(View());
            }
        }
Example #28
0
        public IHttpActionResult Delete(int id)
        {
            if (id < 0)
            {
                return(BadRequest("Identificador Inválido :" + id));
            }
            Models.Context _context = new Models.Context();
            var            Employee = _context.Employees.Where(x => x.Id == id).FirstOrDefault();

            if (Employee == null)
            {
                return(NotFound());
            }

            _context.Employees.Remove(Employee);

            _context.SaveChanges();

            return(Ok());
        }
Example #29
0
        public ActionResult Report(ReportViewModel reportVM)
        {
            var context = new Models.Context();
            var report  = new Report();

            report.DensityBefore = reportVM.DensityBefore;
            //report.Measurment = string.Join(";", reportVM.Meas);

            context.Entry(report).State = System.Data.Entity.EntityState.Modified;
            context.SaveChanges();

            return(RedirectToAction(""));

            //var context = new Models.Context();

            //report.Measurment = string.Join(";", reportVM.Meas);
            //context.Reports.Add(report);
            //context.SaveChanges();

            //return RedirectToAction("");
        }
        public ActionResult Wypelnij(Karta karta)
        {
            var context = new Models.Context();
            var program = context.ProgramyStudiow
                          .Where(p => !p.Usuniety.HasValue)
                          .FirstOrDefault(p => p.Id == karta.ProgramId);

            var dziekan = User.IsInRole("Dziekan");
            var userId  = User.Identity.GetUserId();

            if (!dziekan && program.WykladowcaId != userId)
            {
                return(View("BrakDostepu"));
            }

            if (program.PrzedmiotOpis == null)
            {
                program.PrzedmiotOpis = new PrzedmiotOpis();
            }

            //ToDo: uzupelnic wartosci w program o wartosci z karta, bez imienia i nazwiska
            program.PrzedmiotOpis.NazwaAngielski  = karta.NazwaAngielski;
            program.PrzedmiotOpis.JezykiId        = karta.JezykiId;
            program.PrzedmiotOpis.MaterialyId     = karta.MaterialyId;
            program.PrzedmiotOpis.Rok             = karta.Rok;
            program.PrzedmiotOpis.KrotkiOpis      = karta.KrotkiOpis;
            program.PrzedmiotOpis.CelGlowny       = karta.CelGlowny;
            program.PrzedmiotOpis.CelKompetencje  = karta.CelKompetencje;
            program.PrzedmiotOpis.CelUmiejetnosci = karta.CelUmiejetnosci;
            program.PrzedmiotOpis.CelWiedza       = karta.CelWiedza;
            program.WarunkiZaliczenia             = karta.WarunkiZaliczenia;


            //literatura podstawowa
            karta.LiteraturyPodstawowe = karta.LiteraturyPodstawowe.Where(lp => !string.IsNullOrWhiteSpace(lp.Nazwa)).ToList();

            var istniejacaLiteraturaPodstawowa = program.PrzedmiotOpis
                                                 .Literatury
                                                 .Where(l => l.TypLiteratura.Nazwa == "Podstawowa").ToList();

            var doUsuniecia = istniejacaLiteraturaPodstawowa
                              .Where(l => !karta.LiteraturyPodstawowe.Any(lp => lp.Nazwa == l.Nazwa)).ToList();

            doUsuniecia.ForEach(u => program.PrzedmiotOpis.Literatury.Remove(u));

            var podstawiowyTypLiteratury = context.TypyLiteratury.First(tl => tl.Nazwa == "Podstawowa");

            var doDodania = karta.LiteraturyPodstawowe.Where(l => !istniejacaLiteraturaPodstawowa.Any(ist => ist.Nazwa == l.Nazwa)).ToList();

            doDodania.ForEach(dd =>
            {
                var literatura = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Podstawowa");
                if (literatura == null)
                {
                    literatura               = new Literatura();
                    literatura.Nazwa         = dd.Nazwa;
                    literatura.TypLiteratura = podstawiowyTypLiteratury;
                }

                program.PrzedmiotOpis.Literatury.Add(literatura);
            });

            //literatura uzupelniajaca
            karta.LiteraturyUzupelniajace = karta.LiteraturyUzupelniajace.Where(lu => !string.IsNullOrWhiteSpace(lu.Nazwa)).ToList();

            var istniejacaLiteraturaUzupelniajaca = program.PrzedmiotOpis
                                                    .Literatury
                                                    .Where(l => l.TypLiteratura.Nazwa == "Uzupelniajaca").ToList();

            var doUsunieciaUzup = istniejacaLiteraturaUzupelniajaca
                                  .Where(l => !karta.LiteraturyUzupelniajace.Any(lp => lp.Nazwa == l.Nazwa)).ToList();

            doUsunieciaUzup.ForEach(v => program.PrzedmiotOpis.Literatury.Remove(v));

            var podstawiowyTypLiteraturyUzup = context.TypyLiteratury.First(tl => tl.Nazwa == "Uzupelniajaca");

            var doDodaniaUzup = karta.LiteraturyUzupelniajace.Where(l => !istniejacaLiteraturaUzupelniajaca.Any(ist => ist.Nazwa == l.Nazwa)).ToList();

            doDodaniaUzup.ForEach(dd =>
            {
                var literaturauzup = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Uzupelniajaca" +
                                                                       "" +
                                                                       "" +
                                                                       "" +
                                                                       "" +
                                                                       "" +
                                                                       "" +
                                                                       "");
                if (literaturauzup == null)
                {
                    literaturauzup               = new Literatura();
                    literaturauzup.Nazwa         = dd.Nazwa;
                    literaturauzup.TypLiteratura = podstawiowyTypLiteraturyUzup;
                }

                program.PrzedmiotOpis.Literatury.Add(literaturauzup);
            });
            //

            //zrodla dodatkowe
            karta.ZrodlaDodatkowe = karta.ZrodlaDodatkowe.Where(lu => !string.IsNullOrWhiteSpace(lu.Nazwa)).ToList();

            var istniejaceZrodlaDodatkowe = program.PrzedmiotOpis
                                            .Literatury
                                            .Where(l => l.TypLiteratura.Nazwa == "Dodatkowe").ToList();

            var doUsunieciaDodat = istniejaceZrodlaDodatkowe
                                   .Where(l => !karta.ZrodlaDodatkowe.Any(lp => lp.Nazwa == l.Nazwa)).ToList();

            doUsunieciaDodat.ForEach(v => program.PrzedmiotOpis.Literatury.Remove(v));

            var podstawiowyTypDodat = context.TypyLiteratury.First(tl => tl.Nazwa == "Dodatkowe");

            var doDodaniaDodat = karta.ZrodlaDodatkowe.Where(l => !istniejaceZrodlaDodatkowe.Any(ist => ist.Nazwa == l.Nazwa)).ToList();

            doDodaniaDodat.ForEach(dd =>
            {
                var zrodladodat = context.Literatury.FirstOrDefault(l => l.Nazwa == dd.Nazwa && l.TypLiteratura.Nazwa == "Dodatkowe");
                if (zrodladodat == null)
                {
                    zrodladodat               = new Literatura();
                    zrodladodat.Nazwa         = dd.Nazwa;
                    zrodladodat.TypLiteratura = podstawiowyTypDodat;
                }

                program.PrzedmiotOpis.Literatury.Add(zrodladodat);
            });
            //pytania

            karta.Pytania = karta.Pytania.Where(lp => !string.IsNullOrWhiteSpace(lp.Nazwa)).ToList();

            var istniejacaPytania = program.Pytania.ToList();

            var doUsunieciaPytania = istniejacaPytania
                                     .Where(l => !karta.Pytania.Any(lp => lp.Nazwa == l.Nazwa)).ToList();

            doUsunieciaPytania.ForEach(u => program.Pytania.Remove(u));

            var doDodaniaPytania = karta.Pytania.Where(l => !istniejacaPytania.Any(ist => ist.Nazwa == l.Nazwa)).ToList();

            doDodaniaPytania.ForEach(dd =>
            {
                var pytania = context.Pytania.FirstOrDefault(l => l.Nazwa == dd.Nazwa);
                if (pytania == null)
                {
                    pytania       = new Pytanie();
                    pytania.Nazwa = dd.Nazwa;
                }

                program.Pytania.Add(pytania);
            });

            //metody podajace

            var doUsunieciaMP = program.MetodyDydaktyczne
                                .Where(l => l.MetodyDydaktyczne.GrupyMetodDydaktycznych != null)
                                .ToList();

            doUsunieciaMP.ForEach(v => context.ProgramMetody.Remove(v));

            for (var i = 0; i < karta.MetodyPodajaceIds.Count; i++)
            {
                var mp = new ProgramMetodyDydaktyczne();
                mp.MetodyDydaktyczne = context.Metody.Find(karta.MetodyPodajaceIds[i].MetodaId);
                mp.ProgramId         = program.Id;
                mp.Skrot             = karta.MetodyPodajaceIds[i].Skrot;
                program.MetodyDydaktyczne.Add(mp);
            }

            for (var i = 0; i < karta.MetodyPraktyczneIds.Count; i++)
            {
                var mc = new ProgramMetodyDydaktyczne();
                mc.MetodyDydaktyczne = context.Metody.Find(karta.MetodyPraktyczneIds[i].MetodaId);
                mc.ProgramId         = program.Id;
                mc.Skrot             = karta.MetodyPraktyczneIds[i].Skrot;
                program.MetodyDydaktyczne.Add(mc);
            }

            for (var i = 0; i < karta.MetodyProblemoweIds.Count; i++)
            {
                var ms = new ProgramMetodyDydaktyczne();
                ms.MetodyDydaktyczne = context.Metody.Find(karta.MetodyProblemoweIds[i].MetodaId);
                ms.ProgramId         = program.Id;
                ms.Skrot             = karta.MetodyProblemoweIds[i].Skrot;
                program.MetodyDydaktyczne.Add(ms);
            }

            for (var i = 0; i < karta.MetodyEksponujaceIds.Count; i++)
            {
                var me = new ProgramMetodyDydaktyczne();
                me.MetodyDydaktyczne = context.Metody.Find(karta.MetodyEksponujaceIds[i].MetodaId);
                me.ProgramId         = program.Id;
                me.Skrot             = karta.MetodyEksponujaceIds[i].Skrot;
                program.MetodyDydaktyczne.Add(me);
            }

            //metody oceniania
            var doUsunieciaMO = program.MetodyOceniania.ToList();

            doUsunieciaMO.ForEach(v => context.ProgramMetodyOceniania.Remove(v));

            for (var i = 0; i < karta.MetodyOcenianiaIds.Count; i++)
            {
                var mo = new ProgramMetodyOceniania();
                mo.MetodyOceniania = context.MetodyOceniania.Find(karta.MetodyOcenianiaIds[i].MetodaId);
                mo.ProgramId       = program.Id;
                mo.Skrot           = karta.MetodyOcenianiaIds[i].Skrot;
                program.MetodyOceniania.Add(mo);
            }

            // tresci

            program.Tresci.ToList()
            .ForEach(t => context.Tresci.Remove(t));

            karta.Godziny.ForEach(g =>
            {
                for (var i = 0; i < g.Tresci.Count; i++)
                {
                    program.Tresci.Add(new Tresci()
                    {
                        Opis              = g.Tresci[i].Nazwa,
                        Skrot             = g.Tresci[i].Skrot,
                        TypLiczbaGodzinId = g.TypLiczbaGodzinId
                    });
                }
            });

            // efekty

            program.Efekty.ToList().ForEach(e =>
            {
                e.Tresci.ToList().ForEach(t => context.ProgramEfektTresci.Remove(t));
                e.MetodyDydaktyczne.ToList().ForEach(t => context.ProgramEfektMetodaDydaktyczna.Remove(t));
                e.MetodyOceniania.ToList().ForEach(t => context.ProgramEfektMetodaOceniania.Remove(t));
                context.ProgramEfekty.Remove(e);
            });

            karta.Efekty.ForEach(e =>
            {
                var metodyDydaktyczne = e.WybraneMetodyEksponujace.Select(g =>
                {
                    var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Eksponujące");
                    return(new ProgramEfektMetodaDydaktyczna()
                    {
                        ProgramMetodyDydaktyczne = metoda
                    });
                }).ToList();
                metodyDydaktyczne.AddRange(e.WybraneMetodyPodajace.Select(g =>
                {
                    var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Podające");
                    return(new ProgramEfektMetodaDydaktyczna()
                    {
                        ProgramMetodyDydaktyczne = metoda
                    });
                }).ToList());
                metodyDydaktyczne.AddRange(e.WybraneMetodyPraktyczne.Select(g =>
                {
                    var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Praktyczne");
                    return(new ProgramEfektMetodaDydaktyczna()
                    {
                        ProgramMetodyDydaktyczne = metoda
                    });
                }).ToList());
                metodyDydaktyczne.AddRange(e.WybraneMetodyProblemowe.Select(g =>
                {
                    var metoda = program.MetodyDydaktyczne.FirstOrDefault(mt => mt.Skrot == g && mt.MetodyDydaktyczne.GrupyMetodDydaktycznych.Nazwa == "Problemowe");
                    return(new ProgramEfektMetodaDydaktyczna()
                    {
                        ProgramMetodyDydaktyczne = metoda
                    });
                }).ToList());

                var efekt = new ProgramEfekt()
                {
                    EfektId          = e.Id,
                    WymaganiaWstepne = e.WymaganiaWstepne,
                    PrzedmiotoweEfektyKsztalcenia = e.PrzedmiotoweEfektyKsztalcenia,
                    Tresci = e.Godziny.SelectMany(g =>
                    {
                        var tresci = g.WybraneTresci.Select(t => program.Tresci.First(tt => tt.Skrot == t && tt.TypLiczbaGodzinId == g.TypLiczbaGodzinId));
                        return(tresci.Select(t => new ProgramEfektTresc()
                        {
                            Tresci = t
                        }));
                    }).ToList(),
                    MetodyDydaktyczne = metodyDydaktyczne,
                    MetodyOceniania   = e.WybraneMetodyOceniania.Select(g =>
                    {
                        var metoda = program.MetodyOceniania.FirstOrDefault(mt => mt.Skrot == g);
                        return(new ProgramEfektMetodaOceniania()
                        {
                            ProgramMetodyOceniania = metoda
                        });
                    }).ToList()
                };
                program.Efekty.Add(efekt);
            });

            program.LiczbyGodzin.ToList().ForEach(lg =>
            {
                lg.FormaPracyGodziny.ToList().ForEach(t => context.ProgramFormaPracyGodziny.Remove(t));
                lg.FormaPracyGodziny.Clear();
            });

            karta.FormaPracy.ForEach(fp =>
            {
                fp.Dzienne.ForEach(d =>
                {
                    var liczbaGodzin = program.LiczbyGodzin.FirstOrDefault(lg => lg.TypLiczbaGodzinId == d.TypLiczbaGodzinId);
                    liczbaGodzin.FormaPracyGodziny.Add(new ProgramFormaPracyGodzina()
                    {
                        Dzienna      = true,
                        FormaPracyId = fp.FormaPracyId,
                        Godzin       = d.Godzin,
                    });
                });

                fp.Zaoczne.ForEach(d =>
                {
                    var liczbaGodzin = program.LiczbyGodzin.FirstOrDefault(lg => lg.TypLiczbaGodzinId == d.TypLiczbaGodzinId);
                    liczbaGodzin.FormaPracyGodziny.Add(new ProgramFormaPracyGodzina()
                    {
                        Dzienna      = false,
                        FormaPracyId = fp.FormaPracyId,
                        Godzin       = d.Godzin,
                    });
                });
            });

            context.Entry(program).State = System.Data.Entity.EntityState.Modified;
            context.SaveChanges();


            return(Json(new { success = true }));
        }