// GET: HourlyMissions
        public ActionResult Index()
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            var HourlyMissions      = hm.GetAllByUserID(this.CurrentUser.ID);

            return(View(new HourlyMissionAssembler().ToJsons(HourlyMissions.ToList())));
        }
        public ActionResult DeleteConfirmed(Guid id)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);

            hm.DeleteByID(id);
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(Guid id)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            var currentUser         = new UserHelper().GetCurrent();

            hm.DeleteByID(id);
            return(RedirectToAction("Index"));
        }
        public ActionResult ShowApproves()
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var HourlyMissions       = dlm.GetByOrganisationID(this.CurrentUser.OrganizationUnitID).
                                       Where(x => x.WorkflowStage.Order == 4);

            return(View(new HourlyMissionAssembler().ToJsons(HourlyMissions.ToList())));
        }
        public ActionResult Resend(Guid id)
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var HourlyMission        = dlm.GetByID(id);

            dlm.Resend(HourlyMission);
            UOW.SaveChanges();
            return(RedirectToAction("ShowDenied", new { ac = "Resend" }));
        }
        public ActionResult ShowDenied()
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var currentUser          = new UserHelper().GetCurrent();
            var HourlyMissions       = dlm.GetByOrganisationID(currentUser.OrganizationUnitID).
                                       Where(x => x.WorkflowStage.Order == 1);

            return(View(new HourlyMissionAssembler().ToJsons(HourlyMissions.ToList())));
        }
        public ActionResult DenyConfirmed(Guid id)
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var result = dlm.GetByID(id);

            dlm.Deny(result);
            UOW.SaveChanges();
            return(RedirectToAction("ApproveIndex", new { ac = "Deny" }));
        }
        public ActionResult ApproveConfirmed(Guid id)
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var result      = dlm.GetByID(id);
            var currentUser = new UserHelper().GetCurrent();

            dlm.Approve(result);
            UOW.SaveChanges();

            return(RedirectToAction("ApproveIndex", new { ac = "Approve" }));
        }
        public ActionResult ApproveAll()
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            var hourlyMissions       = dlm.GetByOrganisationID(this.CurrentUser.OrganizationUnitID).
                                       Where(x => x.WorkflowStage.Order == 3);

            foreach (var Mission in hourlyMissions)
            {
                dlm.Approve(Mission);
            }
            UOW.SaveChanges();
            return(RedirectToAction("ApproveIndex", new { ac = "ApproveAll" }));
        }
        // GET: HourlyMissions/Details/5
        public ActionResult Details(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.BadRequest, "آی دی ماموریت ارسال نشده است"));
            }
            HourlyMissionManager hm            = new HourlyMissionManager(UOW);
            HourlyMission        HourlyMission = hm.GetByID(id);

            if (HourlyMission == null)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.NotFound, "ماموریت با آی دی ارسال شده یافت نشد"));
            }
            return(View(new HourlyMissionAssembler().ToJson(HourlyMission)));
        }
        // GET: HourlyMissions/Details/5
        public ActionResult Details(Guid id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HourlyMissionManager hm            = new HourlyMissionManager(UOW);
            HourlyMission        HourlyMission = hm.GetByID(id);

            if (HourlyMission == null)
            {
                return(HttpNotFound());
            }
            return(View(new HourlyMissionAssembler().ToJson(HourlyMission)));
        }
        public ActionResult Edit(HourlyMission hourlyMission)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);

            if (ModelState.IsValid)
            {
                hm.Edit(hourlyMission);

                return(RedirectToAction("Index"));
            }
            ViewBag.ProjectID   = new SelectList(pm.GetByUser(this.CurrentUser), "ID", "Title");
            ViewBag.SuccessorID = new SelectList(um.GetAll(), "ID", "UserTitle");
            return(View(hourlyMission));
        }
Пример #13
0
        public IActionResult SaveHourlyMission(HourlyMission hourlyMission)
        {
            try
            {
                if (hourlyMission == null)
                {
                    throw new Exception("اطلاعات ماموریت ارسال نشده است");
                }
                var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName);

                HourlyMissionManager hm = new HourlyMissionManager(this._uow);
                //ProjectManager pm = new ProjectManager(this._uow);
                //UserManager um = new UserManager(this._uow);
                hourlyMission.UserID         = currentUser.ID;
                hourlyMission.OrganisationId = currentUser.OrganizationUnitID;

                //if (hourlyMission.ProjectID == Guid.Empty)
                hourlyMission.ProjectID = null;

                if (hourlyMission.ID == Guid.Empty)
                {
                    hm.Add(hourlyMission);
                }
                else
                {
                    hm.Edit(hourlyMission);
                }

                var data = new ApproveAndDenyJson()
                {
                    id              = hourlyMission.ID.ToString(),
                    date            = DateTime.Now,
                    description     = "",
                    workflowStageID = hourlyMission.WorkflowStageID
                };



                HistoryUtilities.RegisterApproveHistory(data, this._uow, currentUser);

                return(Ok(true));
            }
            catch (Exception ex)
            {
                return(this.ReturnError(ex, "خطا در ذخیره ماموریت ساعتی"));
            }
        }
        public ActionResult Edit([Bind(Include = "ID,ProjectID,PersianTimeFrom,PersianTimeTo,PersianMissionDate")] HourlyMission hourlyMission)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);
            var currentUser         = new UserHelper().GetCurrent();

            if (ModelState.IsValid)
            {
                hm.Edit(hourlyMission);

                return(RedirectToAction("Index"));
            }
            ViewBag.ProjectID   = new SelectList(pm.GetByUser(currentUser), "ID", "Title");
            ViewBag.SuccessorID = new SelectList(um.GetAll(), "ID", "UserTitle");
            return(View(hourlyMission));
        }
        // POST: DailyMissions/Approve/5
        public ActionResult Deny(Guid id)
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            ProjectManager       pm  = new ProjectManager(UOW);
            UserManager          um  = new UserManager(UOW);

            if (id == Guid.Empty)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.BadRequest, "آی دی ماموریت ارسال نشده است"));
            }
            HourlyMission hourlyMission = dlm.GetByID(id);

            if (hourlyMission == null)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.NotFound, "ماموریت با آی دی ارسال شده یافت نشد"));
            }
            return(View(new HourlyMissionAssembler().ToJson(hourlyMission)));
        }
        // POST: DailyMissions/Approve/5
        public ActionResult Deny(Guid id)
        {
            HourlyMissionManager dlm = new HourlyMissionManager(UOW);
            ProjectManager       pm  = new ProjectManager(UOW);
            UserManager          um  = new UserManager(UOW);
            var currentUser          = new UserHelper().GetCurrent();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HourlyMission hourlyMission = dlm.GetByID(id);

            if (hourlyMission == null)
            {
                return(HttpNotFound());
            }
            return(View(new HourlyMissionAssembler().ToJson(hourlyMission)));
        }
        // GET: HourlyMissions/Edit/5
        public ActionResult Edit(Guid id)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);

            if (id == Guid.Empty)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.BadRequest, "آی دی ماموریت ارسال نشده است"));
            }
            HourlyMission hourlyMission = hm.GetByID(id);

            if (hourlyMission == null)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.NotFound, "ماموریت با آی دی ارسال شده یافت نشد"));
            }
            ViewBag.ProjectID = new SelectList(pm.GetByUser(this.CurrentUser), "ID", "Title");
            return(View(hourlyMission));
        }
        // GET: HourlyMissions/Edit/5
        public ActionResult Edit(Guid id)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);
            var currentUser         = new UserHelper().GetCurrent();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HourlyMission hourlyMission = hm.GetByID(id);

            if (hourlyMission == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProjectID = new SelectList(pm.GetByUser(currentUser), "ID", "Title");
            return(View(hourlyMission));
        }
        public ActionResult Create(HourlyMission hourlyMission)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);

            hourlyMission.UserID         = this.CurrentUser.ID;
            hourlyMission.OrganisationId = this.CurrentUser.OrganizationUnitID;

            var firstError = ModelState.Values.SelectMany(v => v.Errors).ToList();

            if (ModelState.IsValid)
            {
                hm.Add(hourlyMission);
                return(RedirectToAction("Index"));
            }

            ViewBag.ProjectID = new SelectList(pm.GetByUser(this.CurrentUser), "ID", "Title");

            return(View(hourlyMission));
        }
        public ActionResult Create([Bind(Include = "ID,ProjectID,PersianTimeFrom,PersianTimeTo,PersianMissionDate")] HourlyMission hourlyMission)
        {
            HourlyMissionManager hm = new HourlyMissionManager(UOW);
            ProjectManager       pm = new ProjectManager(UOW);
            UserManager          um = new UserManager(UOW);
            var currentUser         = new UserHelper().GetCurrent();

            hourlyMission.UserID         = currentUser.ID;
            hourlyMission.OrganisationId = currentUser.OrganizationUnitID;

            var firstError = ModelState.Values.SelectMany(v => v.Errors).ToList();

            if (ModelState.IsValid)
            {
                hm.Add(hourlyMission);
                return(RedirectToAction("Index"));
            }

            ViewBag.ProjectID = new SelectList(pm.GetByUser(currentUser), "ID", "Title");

            return(View(hourlyMission));
        }
Пример #21
0
        public IActionResult SaveHourlyMission(HourlyMission hourlyMission)
        {
            try
            {
                if (hourlyMission == null)
                {
                    throw new Exception("اطلاعات ماموریت ارسال نشده است");
                }
                var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName);

                HourlyMissionManager hm = new HourlyMissionManager(this._uow);
                ProjectManager       pm = new ProjectManager(this._uow);
                UserManager          um = new UserManager(this._uow);
                hourlyMission.UserID         = currentUser.ID;
                hourlyMission.OrganisationId = currentUser.OrganizationUnitID;

                if (hourlyMission.ProjectID == Guid.Empty)
                {
                    hourlyMission.ProjectID = null;
                }

                if (hourlyMission.ID == Guid.Empty)
                {
                    hm.Add(hourlyMission);
                }
                else
                {
                    hm.Edit(hourlyMission);
                }

                return(Ok(true));
            }
            catch (Exception ex)
            {
                return(this.ReturnError(ex, "خطا در ذخیره ماموریت ساعتی"));
            }
        }
Пример #22
0
        //--------------------------------------------------------------------------------------
        private void approveDenyHourlyMission(bool isApprove, Domain.User currentUser, TimeSheetManager timeSheetManager, HourlyMissionManager dlm, HourlyMission dailyLeave, string userDescription)
        {
            if (dailyLeave.WorkflowStage.Type == "Final")
            {
                throw new Exception("هم اکنون تایید نهایی می باشد");
            }
            var isManager = timeSheetManager.IsUserOrganisationMnager(dailyLeave.UserID, currentUser);

            if (dailyLeave.WorkflowStage.Type == "Manager" && !isManager)
            {
                throw new Exception("آیتم منتظر تایید مدیر ستادی است");
            }

            var data = new ApproveAndDenyJson()
            {
                id              = dailyLeave.ID.ToString(),
                date            = DateTime.Now,
                description     = userDescription,
                workflowStageID = dailyLeave.WorkflowStageID
            };

            if (isApprove)
            {
                dlm.Approve(dailyLeave);
                HistoryUtilities.RegisterApproveHistory(data, this._uow, currentUser);
            }
            else
            {
                dlm.Deny(dailyLeave);
                HistoryUtilities.RegisterApproveHistory(data, this._uow, currentUser);
            }
        }
Пример #23
0
        public IActionResult approveDeny(vmApproveDenyRequest request)
        {
            try
            {
                if (!this.MainChecks(request.ver, out string error))
                {
                    throw new Exception(error);
                }
                if (request.approveIds.Count == 0 && request.denyIds.Count == 0)
                {
                    throw new Exception("موردی برای تایید یا رد مشخص نشده است");
                }

                var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName);
                TimeSheetManager timeSheetManager = new TimeSheetManager(this._uow);


                if (request.type == 10)
                {
                    //workhour
                    foreach (var itemForApprove in request.approveIds)
                    {
                        var item = timeSheetManager.GetByID(itemForApprove.id);
                        approveDenyWorkhour(true, currentUser, timeSheetManager, item, itemForApprove.description);
                    }
                    foreach (var itemForDeny in request.denyIds)
                    {
                        var item = timeSheetManager.GetByID(itemForDeny.id);
                        approveDenyWorkhour(false, currentUser, timeSheetManager, item, itemForDeny.description);
                    }
                }

                if (request.type == 1)
                {
                    //ماموریت ساعتی
                    HourlyMissionManager dlm = new HourlyMissionManager(this._uow);

                    foreach (var itemForApprove in request.approveIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForApprove.id);
                        approveDenyHourlyMission(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description);
                    }

                    foreach (var itemForDeny in request.denyIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForDeny.id);
                        approveDenyHourlyMission(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description);
                    }

                    this._uow.SaveChanges();
                }
                if (request.type == 2)
                {
                    //مرخصی ساعتی
                    HourlyLeaveManager dlm = new HourlyLeaveManager(this._uow);

                    foreach (var itemForApprove in request.approveIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForApprove.id);
                        approveDenyHourlyLeave(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description);
                    }

                    foreach (var itemForDeny in request.denyIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForDeny.id);
                        approveDenyHourlyLeave(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description);
                    }

                    this._uow.SaveChanges();
                }
                if (request.type == 3)
                {
                    //مرخصی روزانه
                    DailyLeaveManager dlm = new DailyLeaveManager(this._uow);

                    foreach (var itemForApprove in request.approveIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForApprove.id);
                        approveDenyDailyLeave(true, currentUser, timeSheetManager, dlm, dailyLeave, itemForApprove.description);
                    }

                    foreach (var itemForDeny in request.denyIds)
                    {
                        var dailyLeave = dlm.GetByID(itemForDeny.id);
                        approveDenyDailyLeave(false, currentUser, timeSheetManager, dlm, dailyLeave, itemForDeny.description);
                    }

                    this._uow.SaveChanges();
                }



                return(Ok(new { message = "عملیات تایید با موفقیت انجام گردید" }));
            }
            catch (Exception ex)
            {
                return(this.ReturnError(ex, "خطا در ذخیره تایید و رد ها"));
            }
        }