public async Task <IActionResult> Create([Bind("MaszynaId,Nazwa,NrSeryjny,DataPrzegladu")] Maszyna maszyna, string[] selectedConditions)
        {
            try
            {
                if (selectedConditions != null)
                {
                    maszyna.PracownikMaszyna = new List <PracownikMaszyna>();
                    foreach (var cond in selectedConditions)
                    {
                        var condToAdd = new PracownikMaszyna {
                            MaszynaId = maszyna.MaszynaId, PracownikId = int.Parse(cond)
                        };
                        maszyna.PracownikMaszyna.Add(condToAdd);
                    }
                }

                //UpdateZespolPracownik(selectedConditions, zespol);
                if (ModelState.IsValid)
                {
                    _context.Add(maszyna);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }

            PopulateAssignedConditionData(maszyna);
            return(View(maszyna));
        }
        public IHttpActionResult PutMaszyna(int id, Maszyna maszyna)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MaszynaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        private void UpdateZespolPracownik(string[] selectedConditions, Maszyna maszynaToUpdate)
        {
            if (selectedConditions == null)
            {
                maszynaToUpdate.PracownikMaszyna = new List <PracownikMaszyna>();
                return;
            }

            var selectedOptionsHS = new HashSet <string>(selectedConditions);
            var docSpecialties    = new HashSet <int>(maszynaToUpdate.PracownikMaszyna.Select(b => b.PracownikId));

            foreach (var s in _context.Pracownik)
            {
                if (selectedOptionsHS.Contains(s.PracownikId.ToString()))
                {
                    if (!docSpecialties.Contains(s.PracownikId))
                    {
                        maszynaToUpdate.PracownikMaszyna.Add(new PracownikMaszyna
                        {
                            PracownikId = s.PracownikId,
                            MaszynaId   = maszynaToUpdate.MaszynaId
                        });
                    }
                }
                else
                {
                    if (docSpecialties.Contains(s.PracownikId))
                    {
                        PracownikMaszyna specToRemove = maszynaToUpdate.PracownikMaszyna.SingleOrDefault(d => d.PracownikId == s.PracownikId);
                        _context.Remove(specToRemove);
                    }
                }
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Maszyna maszyna = db.MaszynaSet.Find(id);

            db.MaszynaSet.Remove(maszyna);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IActionResult Create()
        {
            var maszyna = new Maszyna();

            maszyna.PracownikMaszyna = new List <PracownikMaszyna>();
            PopulateAssignedConditionData(maszyna);
            return(View());
        }
 public ActionResult Edit([Bind(Include = "Id,Nazwa,Data_uruchomienia,HalaId")] Maszyna maszyna)
 {
     if (ModelState.IsValid)
     {
         db.Entry(maszyna).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.HalaId = new SelectList(db.HalaSet, "Id", "Nazwa", maszyna.HalaId);
     return(View(maszyna));
 }
        public IHttpActionResult GetMaszyna(int id)
        {
            Maszyna maszyna = db.MaszynaSet.Find(id);

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

            return(Ok(maszyna));
        }
        public ActionResult Create([Bind(Include = "Id,Nazwa,Data_uruchomienia,HalaId")] Maszyna maszyna)
        {
            if (ModelState.IsValid)
            {
                db.MaszynaSet.Add(maszyna);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.HalaId = new SelectList(db.HalaSet, "Id", "Nazwa", maszyna.HalaId);
            return(View(maszyna));
        }
        public IHttpActionResult PostMaszyna(Maszyna maszyna)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.MaszynaSet.Add(maszyna);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = maszyna.Id }, maszyna));
        }
        // GET: Maszyna/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Maszyna maszyna = db.MaszynaSet.Find(id);

            if (maszyna == null)
            {
                return(HttpNotFound());
            }
            return(View(maszyna));
        }
        public IHttpActionResult DeleteMaszyna(int id)
        {
            Maszyna maszyna = db.MaszynaSet.Find(id);

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

            db.MaszynaSet.Remove(maszyna);
            db.SaveChanges();

            return(Ok(maszyna));
        }
        // GET: Maszyna/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Maszyna maszyna = db.MaszynaSet.Find(id);

            if (maszyna == null)
            {
                return(HttpNotFound());
            }
            ViewBag.HalaId = new SelectList(db.HalaSet, "Id", "Nazwa", maszyna.HalaId);
            return(View(maszyna));
        }
        private void PopulateAssignedConditionData(Maszyna zespol)
        {
            var allConditions = _context.Pracownik;
            var pConditions   = new HashSet <int>(zespol.PracownikMaszyna.Select(b => b.PracownikId));
            var viewModel     = new List <AssignedConditionVM>();

            foreach (var con in allConditions)
            {
                viewModel.Add(new AssignedConditionVM
                {
                    PracownikID    = con.PracownikId,
                    PracownikNazwa = con.FullName,
                    Assigned       = pConditions.Contains(con.PracownikId)
                });
            }
            ViewData["Conditions"] = viewModel;
        }
        public ActionResult Create([Bind(Include = "Id,Numer_ewidencyjny,Nazwa,Data_uru,Operatorzy,HalaId")] Maszyna maszyna)
        {
            if (ModelState.IsValid)
            {
                var operatorId = int.Parse(Request.Form["Operator"]);
                var Imie       = from op in db.Operators
                                 where op.Id == operatorId
                                 select op.Imie;
                maszyna.Operatorzy = Imie.Single();
                db.Maszynas.Add(maszyna);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.HalaId = new SelectList(db.Halas, "Id", "Nazwa", maszyna.HalaId);
            return(View(maszyna));
        }