public ActionResult LogOff()
        {
            if (HttpContext.User.IsInRole("CandidateAdmin"))
            {
                EventsUserViewModel eventsModel = Session["EventsUserCandidate"] as EventsUserViewModel;
                if (eventsModel != null && eventsModel.ListEvents.Count > 0)
                {
                    return(RedirectToAction("Index", "EventUser"));
                }
            }

            AuthManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
            return(RedirectToAction("Index", "PeoplesAward"));
        }
        public ActionResult RemoveOperation(string Key)
        {
            try
            {
                EventsUserViewModel eventsModel = Session["EventsUserCandidate"] as EventsUserViewModel;
                if (eventsModel != null)
                {
                    var eventExec = eventsModel.ListEvents.FirstOrDefault(x => x.KeyObjectStr == Key);
                    if (eventExec != null)
                    {
                        eventsModel.DeleteEventFromList(eventExec);
                    }

                    if (eventsModel.ListEvents.Count == 0)
                    {
                        Session.Remove("EventsUserCandidate");
                        return(RedirectToAction("Index", "PeoplesAward"));
                    }
                    else
                    {
                        Session["EventsUserCandidate"] = eventsModel;
                        ViewBag.Title = "Список изменений";

                        if (Request.IsAjaxRequest())
                        {
                            return(Json(new { Key }));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "EventUser"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                if (Request.IsAjaxRequest())
                {
                    return(Json(new { error = e.InnerException.Message }));
                }
                else
                {
                    return(View("Error", ErrorHelper.GetErrorModel(e.Message, e.InnerException + e.StackTrace, DEFAULT_BACK_ERROR_URL)));
                }
            }
            return(RedirectToAction("PeoplesAward", "Index"));
        }
 public ActionResult Index()
 {
     try
     {
         EventsUserViewModel eventsModel = Session["EventsUserCandidate"] as EventsUserViewModel;
         if (eventsModel != null)
         {
             ViewBag.Title = "Список изменений";
             return(View("Index", eventsModel));
         }
     }
     catch (Exception e)
     {
         Logger.LogException(e);
         return(View("Error", ErrorHelper.GetErrorModel(e.Message, e.InnerException + e.StackTrace, DEFAULT_BACK_ERROR_URL)));
     }
     return(RedirectToAction("Index", "PeoplesAward"));
 }
示例#4
0
        public ActionResult DeleteAward(int id)
        {
            if (id <= 0)
            {
                if (Request.IsAjaxRequest())
                {
                    return(Json(new { error = "Не найдена награда с таким идентификатором" }));
                }
                else
                {
                    return(View("Error", ErrorHelper.GetErrorModel("Не найдена награда с таким идентификатором", "", DEFAULT_BACK_ERROR_URL)));
                }
            }

            try
            {
                if (HttpContext.User.IsInRole("CandidateAdmin"))
                {
                    AwardViewModel awardModel = repository.GetAwardById(id);
                    if (awardModel == null)
                    {
                        if (Request.IsAjaxRequest())
                        {
                            return(Json(new { error = "Не найдена награда с таким идентификатором" }));
                        }
                        else
                        {
                            return(View("Error", ErrorHelper.GetErrorModel("Не найдена награда с таким идентификатором", "", DEFAULT_BACK_ERROR_URL)));
                        }
                    }

                    var events = Session["EventsUserCandidate"] as EventsUserViewModel;
                    if (events == null)
                    {
                        events = new EventsUserViewModel();
                        Session.Add("EventsUserCandidate", events);
                    }

                    EventUser userEvent;
                    userEvent = new EventUser(EventOperationType.DeleteRecord, EventObjectType.Award, awardModel);

                    events.AddEventToList(userEvent);
                    Session["EventsUserCandidate"] = events;

                    if (Request.IsAjaxRequest())
                    {
                        return(Json(""));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }

                repository.DeleteAward(id);
                Logger.logger.Trace(String.Format("Удалена награда:\n Id={0}", id));

                if (Request.IsAjaxRequest())
                {
                    return(Json(new { id }));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception e)
            {
                Logger.LogException(e);

                if (Request.IsAjaxRequest())
                {
                    return(Json(new { error = e.InnerException.Message }));
                }
                else
                {
                    return(View("Error", ErrorHelper.GetErrorModel(e.Message, e.InnerException + e.StackTrace, DEFAULT_BACK_ERROR_URL)));
                }
            }
        }
示例#5
0
        public ActionResult SaveAward([Bind(Include = "Id,NameAward,DescriptionAward,ImageIsEmpty")] AwardViewModel awardModel)
        {
            bool saveCreateMode = (awardModel.Id == 0) ? true : false;

            if (ModelState.IsValid)
            {
                try
                {
                    if (!CheckNameAward(awardModel.NameAward, awardModel.Id))
                    {
                        ModelState.AddModelError("NameAward", "Такое название награды уже имеется");
                        if (saveCreateMode)
                        {
                            return(PartialView("CreateAwardPartial", awardModel));
                        }
                        else
                        {
                            return(View("CreateEditAward", awardModel));
                        }
                    }

                    if (Request.Files.Count > 0)
                    {
                        HttpPostedFileBase file = Request.Files["PhotoAward"];
                        using (var bin = new BinaryReader(file.InputStream))
                        {
                            if (file.ContentLength >= 10)
                            {
                                awardModel.PhotoAward    = bin.ReadBytes(file.ContentLength);
                                awardModel.PhotoMIMEType = file.ContentType;
                            }
                        }
                    }

                    // если изменяем запись
                    if (!saveCreateMode && awardModel.PhotoAward == null)
                    {
                        // если фото было удалено пользователем
                        if (awardModel.ImageIsEmpty)
                        {
                            awardModel.PhotoAward    = null;
                            awardModel.PhotoMIMEType = "";
                        }
                        else
                        {
                            AwardViewModel tmpAwardModel = repository.GetAwardById(awardModel.Id);
                            awardModel.PhotoAward    = tmpAwardModel.PhotoAward;
                            awardModel.PhotoMIMEType = tmpAwardModel.PhotoMIMEType;
                        }
                    }
                    else
                    {
                        if (awardModel.PhotoAward == null)
                        {
                            awardModel.PhotoMIMEType = "";
                        }
                    }

                    // проверка на обязательный ввод Фото награды
                    if (awardModel.PhotoAward == null || awardModel.PhotoAward.Length <= 0)
                    {
                        if (!saveCreateMode)
                        {
                            ModelState.AddModelError("PhotoAward", "Это поле должно быть заполнено");
                            return(View("CreateEditAward", awardModel));
                        }
                    }

                    if (HttpContext.User.IsInRole("CandidateAdmin"))
                    {
                        var events = Session["EventsUserCandidate"] as EventsUserViewModel;
                        if (events == null)
                        {
                            events = new EventsUserViewModel();
                            Session.Add("EventsUserCandidate", events);
                        }

                        EventUser userEvent;
                        if (saveCreateMode)
                        {
                            userEvent = new EventUser(EventOperationType.AddRecord, EventObjectType.Award, awardModel);
                        }
                        else
                        {
                            userEvent = new EventUser(EventOperationType.UpdateRecord, EventObjectType.Award, awardModel);
                        }

                        events.AddEventToList(userEvent);
                        Session["EventsUserCandidate"] = events;

                        if (Request.IsAjaxRequest())
                        {
                            return(Json(""));
                        }
                        else
                        {
                            return(RedirectToAction("Index"));
                        }
                    }

                    int saveID = repository.SaveAward(awardModel);
                    if (saveCreateMode)
                    {
                        Logger.logger.Trace(String.Format("Добавлена награда:\n NameAward = {0}, DescriptionAward = {1}",
                                                          awardModel.NameAward, awardModel.DescriptionAward));
                    }
                    else
                    {
                        Logger.logger.Trace(String.Format("Изменена награда:\n Id={0}, NameAward = {1}, DescriptionAward = {2}",
                                                          awardModel.Id, awardModel.NameAward, awardModel.DescriptionAward));
                    }

                    if (saveCreateMode)
                    {
                        awardModel = repository.GetAwardById(saveID);
                        return(PartialView("AwardSinglePartial", awardModel));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception e)
                {
                    Logger.LogException(e);
                    return(View("Error", ErrorHelper.GetErrorModel(e.Message, e.InnerException + e.StackTrace, DEFAULT_BACK_ERROR_URL)));
                }
            }
            else
            {
                if (saveCreateMode)
                {
                    return(PartialView("CreateAwardPartial", awardModel));
                }
                else
                {
                    return(View("CreateEditAward", awardModel));
                }
            }
        }
        public ActionResult ApplyOperation(string Key)
        {
            try
            {
                EventsUserViewModel eventsModel = Session["EventsUserCandidate"] as EventsUserViewModel;
                if (eventsModel != null)
                {
                    var eventExec = eventsModel.ListEvents.FirstOrDefault(x => x.KeyObjectStr == Key);
                    if (eventExec != null)
                    {
                        if (eventExec.TypeObject == EventObjectType.Award)
                        {
                            var model = eventExec.ObjectModel as AwardViewModel;
                            if (model != null)
                            {
                                if (eventExec.TypeOperation == EventOperationType.AddRecord)
                                {
                                    int saveID = repositoryAward.SaveAward(model);
                                    Logger.logger.Trace(String.Format("Добавлена награда:\n NameAward = {0}, DescriptionAward = {1}",
                                                                      model.NameAward, model.DescriptionAward));
                                }
                                if (eventExec.TypeOperation == EventOperationType.UpdateRecord)
                                {
                                    int saveID = repositoryAward.SaveAward(model);
                                    Logger.logger.Trace(String.Format("Изменена награда:\n Id={0}, NameAward = {1}, DescriptionAward = {2}",
                                                                      model.Id, model.NameAward, model.DescriptionAward));
                                }
                                if (eventExec.TypeOperation == EventOperationType.DeleteRecord)
                                {
                                    repositoryAward.DeleteAward(model.Id);
                                    Logger.logger.Trace(String.Format("Удалена награда:\n Id={0}", model.Id));
                                }
                            }
                        }

                        if (eventExec.TypeObject == EventObjectType.People)
                        {
                            var model = eventExec.ObjectModel as PeopleViewModel;
                            if (model != null)
                            {
                                if (eventExec.TypeOperation == EventOperationType.AddRecord)
                                {
                                    int saveID = repositoryPeople.SavePeople(model);
                                    Logger.logger.Trace(String.Format("Добавлен человек:\n FirstName = {0}, LastName = {1}",
                                                                      model.FirstName, model.LastName));
                                }
                                if (eventExec.TypeOperation == EventOperationType.UpdateRecord)
                                {
                                    int saveID = repositoryPeople.SavePeople(model);
                                    Logger.logger.Trace(String.Format("Изменен человек:\n Id={0}, FirstName = {1}, LastName = {2}",
                                                                      model.Id, model.FirstName, model.LastName));
                                }
                                if (eventExec.TypeOperation == EventOperationType.DeleteRecord)
                                {
                                    repositoryPeople.DeletePeople(model.Id);
                                    Logger.logger.Trace(String.Format("Удален человек:\n Id={0}", model.Id));
                                }
                            }
                        }

                        eventsModel.DeleteEventFromList(eventExec);
                    }

                    if (eventsModel.ListEvents.Count == 0)
                    {
                        Session.Remove("EventsUserCandidate");
                        return(RedirectToAction("Index", "PeoplesAward"));
                    }
                    else
                    {
                        Session["EventsUserCandidate"] = eventsModel;
                        ViewBag.Title = "Список изменений";

                        if (Request.IsAjaxRequest())
                        {
                            return(Json(new { Key }));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "EventUser"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                if (Request.IsAjaxRequest())
                {
                    return(Json(new { error = e.InnerException.Message }));
                }
                else
                {
                    return(View("Error", ErrorHelper.GetErrorModel(e.Message, e.InnerException + e.StackTrace, DEFAULT_BACK_ERROR_URL)));
                }
            }
            return(RedirectToAction("Index", "PeoplesAward"));
        }