예제 #1
0
 public ActionResult ChangeStatusQuery([Bind(Include = "QueryId,DateOut,DateIn,DateModification,DeadLine,Text,StateId,PersonId,PersonSpId")] jQuery jQuery)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jQuery).State = EntityState.Modified;
         if (jQuery.StateId == db.hState.First(m => m.Description == "Выполнена").StateId || jQuery.StateId == db.hState.First(m => m.Description == "Отклонена").StateId)
         {
             jQuery.DateOut = DateTime.Parse(DateTime.Today.ToShortDateString());
         }
         if (Convert.ToInt32(TempData["oldState"]) != jQuery.StateId)
         {
             jJournal jJur = new jJournal();
             jJur.Date        = DateTime.Now;
             jJur.EventTypeId = db.hEventType.First(m => m.Description == "Смена статуса заявки").EventTypeId;
             jJur.WorkListId  = null;
             jJur.PersonId    = User.Identity.GetUserId();
             jJur.QueryID     = jQuery.QueryId;
             hState oldst = db.hState.Find(Convert.ToInt32(TempData["oldState"]));
             hState newst = db.hState.Find(jQuery.StateId);
             jJur.Description = "c " + oldst.Description + " на " + newst.Description;
             db.jJournal.Add(jJur);
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PersonId   = new SelectList(db.AspNetUsers, "Id", "Fio", jQuery.PersonId);
     ViewBag.PersonSpId = new SelectList(db.AspNetUsers, "Id", "Fio", jQuery.PersonSpId);
     ViewBag.StateId    = new SelectList(db.hState, "StateId", "Description", jQuery.StateId);
     return(View(jQuery));
 }
        public void CloseQuery(int idQury)
        {
            var     workByQuery = db.jWorkList.Where(m => m.QueryId == idQury);
            Boolean close       = true;

            foreach (jWorkList work in workByQuery)
            {
                if (work.StateWorkId != db.hStateWork.First(m => m.Description == "Выполнена").StateWorkId)
                {
                    close = false;
                }
            }
            if (close)
            {
                jQuery jQuery = db.jQuery.Find(idQury);
                string oldst  = db.hState.Find(jQuery.StateId).Description;
                jQuery.StateId = db.hState.First(m => m.Description == "Выполнена").StateId;
                jQuery.DateOut = DateTime.Parse(DateTime.Today.ToShortDateString());

                jJournal jJur = new jJournal();
                jJur.Date        = DateTime.Now;
                jJur.EventTypeId = db.hEventType.First(m => m.Description == "Смена статуса заявки").EventTypeId;
                jJur.WorkListId  = null;
                jJur.PersonId    = User.Identity.GetUserId();
                jJur.QueryID     = jQuery.QueryId;

                hState newst = db.hState.Find(jQuery.StateId);
                jJur.Description = "c " + oldst + " на " + newst.Description;
                db.jJournal.Add(jJur);
                db.SaveChanges();
            }
        }
 public ActionResult ChangeWorker([Bind(Include = "WorkListId,DateIn,DateOut,DateModifcation,Deadline,QueryId,WorkTypeId,PersonExecId,StateWorkId,Verification,Comment")] jWorkList jWorkList)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jWorkList).State = EntityState.Modified;
         if (TempData["oldWork"].ToString() != jWorkList.PersonExecId)
         {
             jJournal jJur = new jJournal();
             jJur.Date        = DateTime.Now;
             jJur.EventTypeId = db.hEventType.First(m => m.Description == "Смена исполнителя").EventTypeId;
             jJur.WorkListId  = jWorkList.WorkListId;
             jJur.PersonId    = User.Identity.GetUserId();
             jJur.QueryID     = jWorkList.QueryId;
             AspNetUsers oldst = db.AspNetUsers.Find(TempData["oldWork"]);
             AspNetUsers newst = db.AspNetUsers.Find(jWorkList.PersonExecId);
             jJur.Description = "c " + oldst.Fio + " на " + newst.Fio;
             db.jJournal.Add(jJur);
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PersonExecId = new SelectList(db.AspNetUsers, "Id", "Fio", jWorkList.PersonExecId);
     ViewBag.StateWorkId  = new SelectList(db.hStateWork, "StateWorkId", "Description", jWorkList.StateWorkId);
     ViewBag.WorkTypeId   = new SelectList(db.hWorkType, "WorkTypeId", "Description", jWorkList.WorkTypeId);
     ViewBag.QueryId      = new SelectList(db.jQuery, "QueryId", "Text", jWorkList.QueryId);
     return(View(jWorkList));
 }
        public ActionResult ChangeStateWork([Bind(Include = "WorkListId,DateIn,DateOut,DateModifcation,Deadline,QueryId,WorkTypeId,PersonExecId,StateWorkId,Verification,Comment")] jWorkList jWorkList)
        {
            if (ModelState.IsValid)
            {
                db.Entry(jWorkList).State = EntityState.Modified;
                if (jWorkList.StateWorkId == db.hStateWork.First(m => m.Description == "Выполнена").StateWorkId || jWorkList.StateWorkId == db.hStateWork.First(m => m.Description == "Отклонена").StateWorkId)
                {
                    jWorkList.DateOut = DateTime.Parse(DateTime.Today.ToShortDateString());
                }
                if (Convert.ToInt32(TempData["oldState"]) != jWorkList.StateWorkId)
                {
                    jJournal jJur = new jJournal();
                    jJur.Date        = DateTime.Now;
                    jJur.EventTypeId = db.hEventType.First(m => m.Description == "Смена статуса работы").EventTypeId;
                    jJur.WorkListId  = jWorkList.WorkListId;
                    jJur.PersonId    = User.Identity.GetUserId();
                    jJur.QueryID     = jWorkList.QueryId;
                    hStateWork oldst = db.hStateWork.Find(Convert.ToInt32(TempData["oldState"]));
                    hStateWork newst = db.hStateWork.Find(jWorkList.StateWorkId);
                    jJur.Description = "c " + oldst.Description + " на " + newst.Description;
                    CloseQuery(jWorkList.QueryId);
                    db.jJournal.Add(jJur);
                }
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }
            ViewBag.PersonExecId = new SelectList(db.AspNetUsers, "Id", "Fio", jWorkList.PersonExecId);
            ViewBag.StateWorkId  = new SelectList(db.hStateWork, "StateWorkId", "Description", jWorkList.StateWorkId);
            ViewBag.WorkTypeId   = new SelectList(db.hWorkType, "WorkTypeId", "Description", jWorkList.WorkTypeId);
            ViewBag.QueryId      = new SelectList(db.jQuery, "QueryId", "Text", jWorkList.QueryId);
            return(View(jWorkList));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            jJournal jJournal = db.jJournal.Find(id);

            db.jJournal.Remove(jJournal);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Date,EventTypeId,WorkListId,Description,JournalId,PersonId,QueryID")] jJournal jJournal)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jJournal).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PersonId    = new SelectList(db.AspNetUsers, "Id", "Email", jJournal.PersonId);
     ViewBag.EventTypeId = new SelectList(db.hEventType, "EventTypeId", "Description", jJournal.EventTypeId);
     ViewBag.WorkListId  = new SelectList(db.jWorkList, "WorkListId", "PersonExecId", jJournal.WorkListId);
     return(View(jJournal));
 }
        // GET: jJournals/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            jJournal jJournal = db.jJournal.Find(id);

            if (jJournal == null)
            {
                return(HttpNotFound());
            }
            return(View(jJournal));
        }
        public ActionResult Create([Bind(Include = "WorkListId,DateIn,DateOut,DateModifcation,Deadline,QueryId,WorkTypeId,PersonExecId,StateWorkId,Verification,Comment")] jWorkList jWorkList)
        {
            if (ModelState.IsValid)
            {
                jWorkList.DateIn          = DateTime.Parse(DateTime.Today.ToShortDateString());
                jWorkList.DateModifcation = DateTime.Now;
                jWorkList.DateModifcation = jWorkList.DateModifcation.AddMilliseconds(-jWorkList.DateModifcation.Millisecond);
                DateTime dmd = jWorkList.DateModifcation;
                jWorkList.StateWorkId  = db.hStateWork.First(m => m.Description == "Ожидает").StateWorkId;
                jWorkList.Verification = false;
                if (jWorkList.Comment != null)
                {
                    string com = "-" + jWorkList.Comment + " " + User.Identity.Name + " " + DateTime.Now.ToString();
                    jWorkList.Comment = com;
                }
                db.jWorkList.Add(jWorkList);
                db.SaveChanges();

                jJournal jJur   = new jJournal();
                string   dmdstr = dmd.ToString("yyyy-MM-dd HH:mm:ss") + ".000";
                DateTime dmdn   = DateTime.Parse(dmdstr);
                db = new KOMK_Main_v2Entities();
                jWorkList jW = db.jWorkList.First(m => m.DateModifcation == dmdn);

                jJur.Date        = DateTime.Now;
                jJur.EventTypeId = db.hEventType.First(m => m.Description == "Создание работы").EventTypeId;
                jJur.WorkListId  = jW.WorkListId;
                jJur.PersonId    = User.Identity.GetUserId();
                jJur.QueryID     = jW.QueryId;
                if (jW.Comment != null)
                {
                    jJur.Description = " Коментарий перед работой: " + jW.Comment;
                }
                else
                {
                    jJur.Description = "Комментария перед работой не было";
                }

                db.jJournal.Add(jJur);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.PersonExecId = new SelectList(db.AspNetUsers, "Id", "Fio", jWorkList.PersonExecId);
            ViewBag.StateWorkId  = new SelectList(db.hStateWork, "StateWorkId", "Description", jWorkList.StateWorkId);
            ViewBag.WorkTypeId   = new SelectList(db.hWorkType, "WorkTypeId", "Description", jWorkList.WorkTypeId);
            ViewBag.QueryId      = new SelectList(db.jQuery, "QueryId", "Text", jWorkList.QueryId);
            return(View(jWorkList));
        }
        // GET: jJournals/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            jJournal jJournal = db.jJournal.Find(id);

            if (jJournal == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PersonId    = new SelectList(db.AspNetUsers, "Id", "Email", jJournal.PersonId);
            ViewBag.EventTypeId = new SelectList(db.hEventType, "EventTypeId", "Description", jJournal.EventTypeId);
            ViewBag.WorkListId  = new SelectList(db.jWorkList, "WorkListId", "PersonExecId", jJournal.WorkListId);
            return(View(jJournal));
        }
예제 #10
0
        public ActionResult Create([Bind(Include = "QueryId,DateOut,DateIn,DateModification,DeadLine,Text,StateId,PersonId,PersonSpId")] jQuery jQuery)
        {
            if (ModelState.IsValid)
            {
                //Заполняем необходимые для для создания заявки поля, которые не видит пользователь
                jQuery.DateIn           = DateTime.Parse(DateTime.Today.ToShortDateString());
                jQuery.DateModification = DateTime.Now;
                jQuery.DateModification = jQuery.DateModification.AddMilliseconds(-jQuery.DateModification.Millisecond);
                DateTime dmd = jQuery.DateModification;
                jQuery.StateId  = db.hState.First(m => m.Description == "Ожидает").StateId;
                jQuery.PersonId = User.Identity.GetUserId();
                db.jQuery.Add(jQuery);
                db.SaveChanges();

                jJournal jJur   = new jJournal();
                string   dmdstr = dmd.ToString("yyyy-MM-dd HH:mm:ss") + ".000";
                DateTime dmdn   = DateTime.Parse(dmdstr);
                db = new KOMK_Main_v2Entities();
                jQuery jQ = db.jQuery.First(m => m.DateModification == dmdn);

                jJur.Date        = DateTime.Now;
                jJur.EventTypeId = db.hEventType.First(m => m.Description == "Создание заявки").EventTypeId;
                jJur.WorkListId  = null;
                jJur.PersonId    = User.Identity.GetUserId();
                jJur.QueryID     = jQ.QueryId;
                jJur.Description = " Содержание:  " + jQ.Text;


                db.jJournal.Add(jJur);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            //Если данные не валидны то делаем тоже что и в методе GET
            ViewBag.PersonId   = new SelectList(db.AspNetUsers, "Id", "Fio", jQuery.PersonId);
            ViewBag.PersonSpId = new SelectList(db.AspNetUsers, "Id", "Fio", jQuery.PersonSpId);
            ViewBag.StateId    = new SelectList(db.hState, "StateId", "Description", jQuery.StateId);
            return(View(jQuery));
        }