public async Task <IHttpActionResult> PutProjekti(string id, Projekti projekti)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != projekti.id)
            {
                return(BadRequest());
            }

            db.Entry(projekti).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProjektiExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 2
0
        public static Projekti DodajDionike(Projekti projekt, FormCollection form)
        {
            List <string> lsDioniciNaziv = form.AllKeys.Where(x => x.StartsWith("DioniciLista[") && x.EndsWith("].Naziv")).Distinct().ToList();

            foreach (var naziv in lsDioniciNaziv)
            {
                if (!form[naziv].IsNullOrWhiteSpace())
                {
                    string  sKlasa = naziv.Replace("Naziv", "");
                    Dionici dionik = new Dionici();
                    if (form.AllKeys.Contains(sKlasa + "Id"))
                    {
                        dionik.Id        = int.Parse(form[sKlasa + "Id"]);
                        dionik.ProjektId = int.Parse(form[sKlasa + "ProjektId"]);
                    }
                    dionik.Naziv     = form[naziv];
                    dionik.Vrsta     = form[sKlasa + "Vrsta"];
                    dionik.Uloga     = form[sKlasa + "Uloga"];
                    dionik.ProjektId = projekt.Id;

                    projekt.Dionici.Add(dionik);
                }
            }

            return(projekt);
        }
Ejemplo n.º 3
0
        public static Projekti DodajGradjevinskeDozvole(Projekti projekt, HttpPostedFileBase[] dozvolaDatoteke)
        {
            if (dozvolaDatoteke.Any(x => x != null))
            {
                foreach (var itemDozvole in dozvolaDatoteke)
                {
                    if (itemDozvole != null)
                    {
                        GradjevinskeDozvole dozvola = new GradjevinskeDozvole();
                        string FileName             = Path.GetFileNameWithoutExtension(itemDozvole.FileName);
                        string FileExtension        = Path.GetExtension(itemDozvole.FileName);
                        FileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "-" + FileName.Trim() + FileExtension;

                        dozvola.Naziv = itemDozvole.FileName;

                        dozvola.Putanja = Path.Combine(HttpContext.Current.Server.MapPath("~/Files/") + FileName);

                        dozvola.Datoteka = itemDozvole;

                        dozvola.ProjektId = projekt.Id;

                        projekt.GradjevinskeDozvole.Add(dozvola);

                        dozvola.Datoteka.SaveAs(dozvola.Putanja);
                    }
                }
            }
            return(projekt);
        }
Ejemplo n.º 4
0
        // GET: Projekti/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //Ako user nije ulogiran i već je bio na stranici
            if (Session["projektID"] == null && !Request.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }

            if (Session["projektID"] != null)
            {
                ViewBag.Zaprimljena = "Vaša prijava je zaprimljena!";
            }

            Projekti projekti = db.Projekti.Find(id);

            if (projekti == null)
            {
                return(HttpNotFound());
            }

            //User ne može vidjeti projekte koje nije napravio
            if (projekti.UserId != User.Identity.GetUserId() && !User.IsInRole("Admin"))
            {
                //To do - za sada vidi samo admin
                return(RedirectToAction("Index", "Projekti"));
            }

            Session["ProjektID"] = null;
            return(View(projekti));
        }
Ejemplo n.º 5
0
        public static Projekti DodajFinanciranja(Projekti projekt, FormCollection form)
        {
            List <string> lsFinanciranjaNazivIzvora = form.AllKeys.Where(x => x.StartsWith("FinanciranjaLista[") && x.EndsWith("].NazivIzvora")).Distinct().ToList();

            foreach (var nazivIzvora in lsFinanciranjaNazivIzvora)
            {
                if (!form[nazivIzvora].IsNullOrWhiteSpace())
                {
                    string       sKlasa       = nazivIzvora.Replace("NazivIzvora", "");
                    Financiranja financiranje = new Financiranja();
                    if (form.AllKeys.Contains(sKlasa + "Id"))
                    {
                        financiranje.Id        = int.Parse(form[sKlasa + "Id"]);
                        financiranje.ProjektId = int.Parse(form[sKlasa + "ProjektId"]);
                    }
                    financiranje.NazivIzvora       = form[nazivIzvora];
                    financiranje.IzvorFinanciranja = form[sKlasa + "IzvorFinanciranja"];
                    if (!form[sKlasa + "IznosHRK"].IsNullOrWhiteSpace())
                    {
                        financiranje.IznosHRK = Decimal.Parse(form[sKlasa + "IznosHRK"]);
                    }
                    if (!form[sKlasa + "IznosEUR"].IsNullOrWhiteSpace())
                    {
                        financiranje.IznosEUR = Decimal.Parse(form[sKlasa + "IznosEUR"]);
                    }
                    financiranje.IzvorSufinanciranja = form[sKlasa + "IzvorSufinanciranja"];
                    financiranje.ProjektId           = projekt.Id;

                    projekt.Financiranja.Add(financiranje);
                }
            }

            return(projekt);
        }
Ejemplo n.º 6
0
        // GET: Projekti/Create
        public ActionResult Create()
        {
            ViewBag.KontaktId      = new SelectList(db.Kontakti, "ID", "Ime");
            ViewBag.Organizacije   = new SelectList(db.Organizacije, "ID", "Naziv");
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "ID", "Naziv");
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "ID", "Naziv");
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "ID", "Naziv");
            Projekti projekt = new Projekti();

            projekt.Aktivnosti = new List <Aktivnosti>();
            projekt.Aktivnosti.Add(new Aktivnosti());
            projekt.Dionici = new List <Dionici>();
            projekt.Dionici.Add(new Dionici());
            projekt.Financiranja = new List <Financiranja>();
            projekt.Financiranja.Add(new Financiranja());
            projekt.GradjevinskeDozvole  = new List <GradjevinskeDozvole>();
            projekt.Kontakt              = new Kontakti();
            projekt.Kontakt.Organizacija = new Organizacije();
            projekt.Organizacija         = new Organizacije();
            projekt.OstalaDokumentacija  = new List <OstalaDokumentacija>();
            projekt.Pokazatelji          = new List <Pokazatelji>();
            projekt.Pokazatelji.Add(new Pokazatelji());

            return(View(projekt));
        }
Ejemplo n.º 7
0
        public ActionResult Dodaj(ProjektiAddVM obj)
        {
            var projekatAdd = new Projekti
            {
                Naziv           = obj.Projekat.Naziv,
                Lokacija        = obj.Gradiliste.Grad,
                InvestitorId    = obj.InvestitorId,
                KorisnikId      = obj.KorisnikId,
                DatumUgovora    = obj.Projekat.DatumUgovora,
                KrajProjekta    = obj.Projekat.KrajProjekta,
                PocetakProjekta = obj.Projekat.PocetakProjekta,
                Status          = ProjektStatus.Aktivan
            };

            ctx.Projekti.Add(projekatAdd);
            ctx.SaveChanges();

            var gradilisteAdd = new Gradiliste
            {
                Adresa        = obj.Gradiliste.Adresa,
                ProjektiId    = projekatAdd.Id,
                Grad          = obj.Gradiliste.Grad,
                Opstina       = obj.Gradiliste.Opstina,
                PostanskiBroj = obj.Gradiliste.PostanskiBroj
            };

            ctx.Gradiliste.Add(gradilisteAdd);

            ctx.SaveChanges();

            return(RedirectToAction("Aktivni"));
        }
Ejemplo n.º 8
0
        public static Projekti DodajOstaluDokumentaciju(Projekti projekt, HttpPostedFileBase[] ostaleDatoteke)
        {
            if (ostaleDatoteke.Any(x => x != null))
            {
                foreach (var itemOstale in ostaleDatoteke)
                {
                    if (itemOstale != null)
                    {
                        OstalaDokumentacija ostala = new OstalaDokumentacija();
                        string FileName            = Path.GetFileNameWithoutExtension(itemOstale.FileName);
                        string FileExtension       = Path.GetExtension(itemOstale.FileName);
                        FileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "-" + FileName.Trim() + FileExtension;

                        ostala.Naziv = itemOstale.FileName;

                        ostala.Putanja = Path.Combine(HttpContext.Current.Server.MapPath("~/Files/") + FileName);

                        ostala.Datoteka = itemOstale;

                        ostala.ProjektId = projekt.Id;

                        projekt.OstalaDokumentacija.Add(ostala);

                        ostala.Datoteka.SaveAs(ostala.Putanja);
                    }
                }
            }
            return(projekt);
        }
        public async Task <IHttpActionResult> PostProjekti(Projekti projekti)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Projekti.Add(projekti);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (ProjektiExists(projekti.id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = projekti.id }, projekti));
        }
Ejemplo n.º 10
0
        public static Projekti DodajPokazatelje(Projekti projekt, FormCollection form)
        {
            List <string> lsPokazateljiNaziv = form.AllKeys.Where(x => x.StartsWith("PokazateljiLista[") && x.EndsWith("].Naziv")).Distinct().ToList();

            foreach (var pokazateljNaziv in lsPokazateljiNaziv)
            {
                if (!form[pokazateljNaziv].IsNullOrWhiteSpace())
                {
                    string      sKlasa     = pokazateljNaziv.Replace("Naziv", "");
                    Pokazatelji pokazatelj = new Pokazatelji();
                    if (form.AllKeys.Contains(sKlasa + "Id"))
                    {
                        pokazatelj.Id        = int.Parse(form[sKlasa + "Id"]);
                        pokazatelj.ProjektId = int.Parse(form[sKlasa + "ProjektId"]);
                    }
                    pokazatelj.Naziv         = form[pokazateljNaziv];
                    pokazatelj.JedinicaMjere = form[sKlasa + "JedinicaMjere"];
                    if (!form[sKlasa + "BrojJedinica"].IsNullOrWhiteSpace())
                    {
                        pokazatelj.BrojJedinica = Decimal.Parse(form[sKlasa + "BrojJedinica"]);
                    }
                    pokazatelj.NacinOstvarenja = form[sKlasa + "NacinOstvarenja"];
                    pokazatelj.ProjektId       = projekt.Id;

                    projekt.Pokazatelji.Add(pokazatelj);
                }
            }

            return(projekt);
        }
Ejemplo n.º 11
0
        public ActionResult PrintPartialViewToPdf(int id)
        {
            Projekti projekt = db.Projekti.FirstOrDefault(c => c.Id == id);

            var report = new PartialViewAsPdf("~/Views/Projekti/Details.cshtml", projekt);

            return(report);
        }
Ejemplo n.º 12
0
        public ActionResult DeleteConfirmed(int id)
        {
            Projekti projekt = db.Projekti.Find(id);

            db.Projekti.Remove(projekt);
            db.SaveChanges();
            return(RedirectToAction("PopisProjekata"));
        }
Ejemplo n.º 13
0
        public static Projekti DodajCustomLokaciju(Projekti projekt, FormCollection form)
        {
            if (!form["lokacija-input"].IsNullOrWhiteSpace())
            {
                projekt.Lokacija = form["lokacija-input"];
            }

            return(projekt);
        }
Ejemplo n.º 14
0
 public ActionResult Edit([Bind(Include = "id, naziv, opis, start_on, odjel_id")]  Projekti projekt)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projekt).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("PopisProjekata"));
     }
     return(View(projekt));
 }
        public async Task <IHttpActionResult> GetProjekti(string id)
        {
            Projekti projekti = await db.Projekti.FindAsync(id);

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

            return(Ok(projekti));
        }
Ejemplo n.º 16
0
 public ActionResult UnesiProjekt([Bind(Include = "id, naziv, opis, start_on, odjel_id")] Projekti projekt)
 {
     if (ModelState.IsValid)
     {
         db.Projekti.Add(projekt);
         db.SaveChanges();
         return(RedirectToAction("UnesiProjekt"));
     }
     ModelState.Clear();
     return(View());
 }
Ejemplo n.º 17
0
        public static Projekti DodajUsera(Projekti projekt, string user)
        {
            if (user != null)
            {
                projekt.UserId                      = user;
                projekt.Kontakt.UserId              = user;
                projekt.Organizacija.UserId         = user;
                projekt.Kontakt.Organizacija.UserId = user;
            }

            return(projekt);
        }
        public async Task <IHttpActionResult> DeleteProjekti(string id)
        {
            Projekti projekti = await db.Projekti.FindAsync(id);

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

            db.Projekti.Remove(projekti);
            await db.SaveChangesAsync();

            return(Ok(projekti));
        }
Ejemplo n.º 19
0
        // GET: Projekti/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Projekti projekti = db.Projekti.Find(id);

            if (projekti == null)
            {
                return(HttpNotFound());
            }
            return(View(projekti));
        }
Ejemplo n.º 20
0
        public static void SendEmailNotification(Projekti projekt)
        {
            ExchangeService service = new ExchangeService();

            service.Credentials = new WebCredentials("*****@*****.**", "1029384756abc");
            service.Url         = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
            EmailMessage message = new EmailMessage(service);

            message.Subject = "SPUR - novi  projekt";
            message.Body    = "<b>Naziv projekta:</b> " + projekt.Naziv + "<br>" + "<b>Naziv nositelja projekta:</b> " + projekt.Organizacija.Naziv + "<br>" + "<b>Status:</b> " + projekt.StatusProjekta + "<br>" + "<b>Faza projekta:</b> " + projekt.Faza + "<br>" + "<b>Upravno područje:</b> " + projekt.UpravnoPodrucje + "<br>" + "<b>Ime:</b> " + projekt.Kontakt.Ime + "<br>" + "<b>Prezime:</b> " + projekt.Kontakt.Prezime + "<br>" + "<b>Naziv organizacije:</b> " + projekt.Kontakt.Organizacija.Naziv;
            message.ToRecipients.Add("*****@*****.**");

            //To do: Uncomment this
            message.SendAndSaveCopy();
        }
Ejemplo n.º 21
0
        // GET: Odjeli/Delete/5
        public ActionResult Delete(int?id)
        {
            if (Session["AdminID"] == null)
            {
                return(Redirect("/Login/Login"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Projekti projekt = db.Projekti.Find(id);

            if (projekt == null)
            {
                return(HttpNotFound());
            }
            return(View(projekt));
        }
Ejemplo n.º 22
0
        // GET: Odjeli/Edit/5
        public ActionResult Edit(int?id)
        {
            if (Session["AdminID"] == null)
            {
                return(Redirect("/Login/Login"));
            }

            ViewBag.odjel_id = new SelectList(db.Odjeli, "id", "naziv");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Projekti projekt = db.Projekti.Find(id);

            if (projekt == null)
            {
                return(HttpNotFound());
            }
            return(View(projekt));
        }
Ejemplo n.º 23
0
        // GET: Projekti/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Projekti projekti = db.Projekti.Find(id);

            if (projekti == null)
            {
                return(HttpNotFound());
            }

            if (projekti.Lokacija != "Grad" && projekti.Lokacija != "Općina")
            {
                ViewBag.Lokacija = projekti.Lokacija;
            }

            ViewBag.KontaktId      = new SelectList(db.Kontakti, "Id", "Ime", projekti.KontaktId);
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "Id", "Naziv", projekti.OrganizacijaId);
            return(View(projekti));
        }
Ejemplo n.º 24
0
        public static Projekti DodajAktivnosti(Projekti projekt, FormCollection form)
        {
            List <string> lsAktivnostiOpis = form.AllKeys.Where(x => x.StartsWith("AktivnostiLista[") && x.EndsWith("].Opis")).Distinct().ToList();

            foreach (var opis in lsAktivnostiOpis)
            {
                if (!form[opis].IsNullOrWhiteSpace())
                {
                    string     sKlasa    = opis.Replace("Opis", "");
                    Aktivnosti aktivnost = new Aktivnosti();
                    if (form.AllKeys.Contains(sKlasa + "Id"))
                    {
                        aktivnost.Id        = int.Parse(form[sKlasa + "Id"]);
                        aktivnost.ProjektId = int.Parse(form[sKlasa + "ProjektId"]);
                    }
                    aktivnost.Opis          = form[opis];
                    aktivnost.Vrsta         = form[sKlasa + "Vrsta"];
                    aktivnost.JedinicaMjere = form[sKlasa + "JedinicaMjere"];
                    if (!form[sKlasa + "BrojJedinica"].IsNullOrWhiteSpace())
                    {
                        aktivnost.BrojJedinica = Decimal.Parse(form[sKlasa + "BrojJedinica"]);
                    }
                    if (!form[sKlasa + "JedinicnaCijena"].IsNullOrWhiteSpace())
                    {
                        aktivnost.JedinicnaCijena = Decimal.Parse(form[sKlasa + "JedinicnaCijena"]);
                    }
                    if (!form[sKlasa + "DatumZavrsetka"].IsNullOrWhiteSpace())
                    {
                        aktivnost.DatumZavrsetka = DateTime.Parse(form[sKlasa + "DatumZavrsetka"]);
                    }
                    aktivnost.ProjektId = projekt.Id;

                    projekt.Aktivnosti.Add(aktivnost);
                }
            }

            return(projekt);
        }
Ejemplo n.º 25
0
        public ActionResult Create(Projekti projekt, FormCollection form, HttpPostedFileBase[] dozvolaDatoteke, HttpPostedFileBase[] ostaleDatoteke, string submitButton)
        {
            projekt = HelperMethods.DodajCustomLokaciju(projekt, form);

            projekt = HelperMethods.DodajUsera(projekt, User.Identity.GetUserId());

            projekt = HelperMethods.DodajAktivnosti(projekt, form);

            projekt = HelperMethods.DodajFinanciranja(projekt, form);

            projekt = HelperMethods.DodajDionike(projekt, form);

            projekt = HelperMethods.DodajPokazatelje(projekt, form);

            try
            {
                if (ModelState.IsValid)
                {
                    projekt = HelperMethods.DodajGradjevinskeDozvole(projekt, dozvolaDatoteke);

                    projekt = HelperMethods.DodajOstaluDokumentaciju(projekt, ostaleDatoteke);

                    Session["projektID"] = projekt.Id;

                    if (submitButton.Equals("Pošalji"))
                    {
                        projekt.DatumPredaje = DateTime.Now;
                        projekt.Upisano      = true;
                        db.Projekti.Add(projekt);
                        db.SaveChanges();

                        HelperMethods.SendEmailNotification(projekt);

                        return(RedirectToAction("Details", "Projekti", new { id = projekt.Id }));
                    }
                    else
                    {
                        db.Projekti.Add(projekt);
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }


            ViewBag.KontaktId      = new SelectList(db.Kontakti, "Id", "Ime", projekt.KontaktId);
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "Id", "Naziv", projekt.OrganizacijaId);
            return(View(projekt));
        }
Ejemplo n.º 26
0
        public ActionResult Edit(Projekti projekt, FormCollection form, HttpPostedFileBase[] dozvolaDatoteke, HttpPostedFileBase[] ostaleDatoteke, string submitButton)
        {
            if (submitButton.Equals("Odustani"))
            {
                return(RedirectToAction("Index", "Projekti"));
            }

            projekt = HelperMethods.DodajCustomLokaciju(projekt, form);

            if (ModelState.IsValid)
            {
                if (!form["UserId"].IsNullOrWhiteSpace())
                {
                    projekt = HelperMethods.DodajUsera(projekt, form["UserId"]);
                }

                projekt = HelperMethods.DodajAktivnosti(projekt, form);

                projekt = HelperMethods.DodajFinanciranja(projekt, form);

                projekt = HelperMethods.DodajDionike(projekt, form);

                projekt = HelperMethods.DodajPokazatelje(projekt, form);

                projekt = HelperMethods.DodajGradjevinskeDozvole(projekt, dozvolaDatoteke);

                projekt = HelperMethods.DodajOstaluDokumentaciju(projekt, ostaleDatoteke);

                //if (HttpContext.Request.Files.AllKeys.Any())
                //{
                //var test = HttpContext.Request.Files.AllKeys.ToArray(); // remove this after test

                //// Get the uploaded image from the Files collection
                //var httpPostedFile = HttpContext.Request.Files[0];

                //if (httpPostedFile != null)
                //{
                //    // Validate the uploaded image(optional)

                //    // Get the complete file path
                //    var fileSavePath = (HttpContext.Server.MapPath("~/UploadedFiles") + httpPostedFile.FileName.Substring(httpPostedFile.FileName.LastIndexOf(@"\")));

                //    // Save the uploaded file to "UploadedFiles" folder
                //    httpPostedFile.SaveAs(fileSavePath);
                //}
                //}

                Session["projektID"] = projekt.Id;

                if (submitButton.Equals("Pošalji"))
                {
                    projekt.DatumPredaje    = DateTime.Now;
                    projekt.Upisano         = true;
                    db.Entry(projekt).State = EntityState.Modified;

                    db.SaveChanges();

                    HelperMethods.SendEmailNotification(projekt);

                    return(RedirectToAction("Details", "Projekti", new { id = projekt.Id }));
                }
                else
                {
                    //var dbProjekt = db.Projekti
                    //  .Include(x => x.Kontakt)
                    //  .Include(x => x.Organizacija)
                    //  .Include(x => x.Organizacija.Kontakt)
                    //  .Single(c => c.Id == projekt.Id);

                    //db.Entry(dbProjekt).CurrentValues.SetValues(projekt);
                    //db.Entry(dbProjekt.Kontakt).CurrentValues.SetValues(projekt.Kontakt);
                    //db.Entry(dbProjekt.Organizacija).CurrentValues.SetValues(projekt.Organizacija);
                    //db.Entry(dbProjekt.Organizacija.Kontakt).CurrentValues.SetValues(projekt.Organizacija.Kontakt);

                    //db.SaveChanges();

                    db.Entry(projekt).State                      = EntityState.Modified;
                    db.Entry(projekt.Kontakt).State              = EntityState.Modified;
                    db.Entry(projekt.Organizacija).State         = EntityState.Modified;
                    db.Entry(projekt.Kontakt.Organizacija).State = EntityState.Modified;

                    foreach (var item in projekt.Aktivnosti)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }
                    foreach (var item in projekt.Dionici)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }
                    foreach (var item in projekt.Financiranja)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }
                    foreach (var item in projekt.Pokazatelji)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }

                    foreach (var item in projekt.GradjevinskeDozvole)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }
                    foreach (var item in projekt.OstalaDokumentacija)
                    {
                        if (item.Id != 0)
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Entry(item).State = EntityState.Added;
                        }
                    }
                    //foreach (var aktivnost in projekt.Aktivnosti.ToList())
                    //    if (!projekt.Aktivnosti.Any(s => s.Id == aktivnost.Id))
                    //        db.Aktivnosti.Remove(aktivnost);

                    //foreach (var aktivnost in projekt.Aktivnosti)
                    //{
                    //    var dbAktivnost = projekt.Aktivnosti.SingleOrDefault(s => s.Id == aktivnost.Id);
                    //    if (dbAktivnost != null)
                    //        // Update subFoos that are in the newFoo.SubFoo collection
                    //        db.Entry(dbAktivnost).CurrentValues.SetValues(aktivnost);
                    //    else
                    //        // Insert subFoos into the database that are not
                    //        // in the dbFoo.subFoo collection
                    //        projekt.Aktivnosti.Add(aktivnost);
                    //}

                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            ViewBag.KontaktId      = new SelectList(db.Kontakti, "Id", "Ime", projekt.KontaktId);
            ViewBag.OrganizacijaId = new SelectList(db.Organizacije, "Id", "Naziv", projekt.OrganizacijaId);
            return(View(projekt));
        }
Ejemplo n.º 27
0
        public async void ObrisiKorisnikaAsync(object parametar)
        {
            if (Kor == null)
            {
                return;
            }
            IMobileServiceTable <Korisnici> usersTable    = App.MobileService.GetTable <Korisnici>();
            IMobileServiceTable <Projekti>  projectsTable = App.MobileService.GetTable <Projekti>();

            for (int i = 0; i < BatNet.Projekti.Count; i++)
            {
                if (BatNet.Projekti.ElementAt(i).Autor.KorisnickoIme == Kor.KorisnickoIme)
                {
                    for (int j = 0; j < BatNet.Korisnici.Count; j++)
                    {
                        for (int k = 0; k < BatNet.Projekti.Count; k++)
                        {
                            if (BatNet.Projekti.ElementAt(k).ID1.Equals(Projekti.ElementAt(i).ID1))
                            {
                                BatNet.Korisnici.ElementAt(j).Projekti.RemoveAt(k);
                            }
                        }
                    }
                    List <Projekti> projekat = await projectsTable.Where(u => u.id == BatNet.Projekti.ElementAt(i).ID1).ToListAsync();

                    if (projekat.Count > 1)
                    {
                        Debug.WriteLine("Big mistake! Stahp!");
                        return;
                    }
                    projekat.ElementAt(0).obrisan = true;
                    await projectsTable.UpdateAsync(projekat.ElementAt(0));

                    BatNet.Projekti.RemoveAt(i);
                }
            }

            for (int i = 0; i < BatNet.Korisnici.Count; i++)
            {
                if (BatNet.Korisnici.ElementAt(i).KorisnickoIme == Kor.KorisnickoIme)
                {
                    List <Korisnici> korisnik = await usersTable.Where(u => u.id == Kor.ID.ToString()).ToListAsync();

                    if (korisnik.Count > 1)
                    {
                        Debug.WriteLine("Big mistake! Stahp!");
                        return;
                    }

                    korisnik.ElementAt(0).obrisan = true;
                    await usersTable.UpdateAsync(korisnik.ElementAt(0));

                    Korisnici.Remove(Kor);
                    BatNet.Korisnici.Remove(Kor);
                    MessageDialog messageDialog = new MessageDialog("Korisnik obrisan!");
                    await messageDialog.ShowAsync();

                    break;
                }
            }
        }
Ejemplo n.º 28
0
        public ActionResult DeleteConfirmed(int id)
        {
            Projekti          projekt         = db.Projekti.Find(id);
            List <Aktivnosti> lsAktivnosti    = db.Aktivnosti.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int>        lsAktivnostiIDs = lsAktivnosti.Select(x => x.Id).ToList();

            projekt.Aktivnosti = lsAktivnosti;
            List <Dionici> lsDionici    = db.Dionici.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int>     lsDioniciIDs = lsDionici.Select(x => x.Id).ToList();

            projekt.Dionici = lsDionici;
            List <Financiranja> lsFinanciranja    = db.Financiranja.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int>          lsFinanciranjaIDs = lsFinanciranja.Select(x => x.Id).ToList();

            projekt.Financiranja = lsFinanciranja;
            List <Pokazatelji> lsPokazatelji    = db.Pokazatelji.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int>         lsPokazateljiIDs = lsPokazatelji.Select(x => x.Id).ToList();

            projekt.Pokazatelji = lsPokazatelji;
            //To do: Add file deletion
            List <GradjevinskeDozvole> lsGradjevinskeDozvole = db.GradjevinskeDozvole.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int> lsGradjevinskeDozvoleIDs = lsGradjevinskeDozvole.Select(x => x.Id).ToList();

            projekt.GradjevinskeDozvole = lsGradjevinskeDozvole;
            List <OstalaDokumentacija> lsOstalaDokumentacija = db.OstalaDokumentacija.Where(x => x.ProjektId == projekt.Id).ToList();
            List <int> lsOstalaDokumentacijaIDs = lsOstalaDokumentacija.Select(x => x.Id).ToList();

            projekt.OstalaDokumentacija = lsOstalaDokumentacija;

            foreach (var itemDozvole in lsGradjevinskeDozvole)
            {
                if (System.IO.File.Exists(itemDozvole.Putanja))
                {
                    System.IO.File.Delete(itemDozvole.Putanja);
                }
            }

            foreach (var itemDokumentacija in lsOstalaDokumentacija)
            {
                if (System.IO.File.Exists(itemDokumentacija.Putanja))
                {
                    System.IO.File.Delete(itemDokumentacija.Putanja);
                }
            }


            db.Projekti.Remove(projekt);
            db.SaveChanges();

            foreach (var aktivnostId in lsAktivnostiIDs)
            {
                db.Aktivnosti.Remove(db.Aktivnosti.FirstOrDefault(x => x.Id == aktivnostId));
            }
            foreach (var dionikId in lsDioniciIDs)
            {
                db.Dionici.Remove(db.Dionici.FirstOrDefault(x => x.Id == dionikId));
            }
            foreach (var financiranjeId in lsFinanciranjaIDs)
            {
                db.Financiranja.Remove(db.Financiranja.FirstOrDefault(x => x.Id == financiranjeId));
            }
            foreach (var pokazateljId in lsPokazateljiIDs)
            {
                db.Pokazatelji.Remove(db.Pokazatelji.FirstOrDefault(x => x.Id == pokazateljId));
            }
            foreach (var dozvolaId in lsGradjevinskeDozvoleIDs)
            {
                db.GradjevinskeDozvole.Remove(db.GradjevinskeDozvole.FirstOrDefault(x => x.Id == dozvolaId));
            }
            foreach (var ostalaId in lsOstalaDokumentacijaIDs)
            {
                db.OstalaDokumentacija.Remove(db.OstalaDokumentacija.FirstOrDefault(x => x.Id == ostalaId));
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }