Exemple #1
0
 public void Add(HourlyLeave hourlyLeave)
 {
     if (IsExist(hourlyLeave))
     {
         var existingObject = GetByID(hourlyLeave.ID);
         FillEntity(existingObject, hourlyLeave);
     }
     else
     {
         _RASContext.HourlyLeaves.Add(hourlyLeave);
     }
 }
Exemple #2
0
 public void FillEntity(HourlyLeave hourlyLeave, HourlyLeave entity)
 {
     hourlyLeave.ID              = entity.ID;
     hourlyLeave.ProjectID       = entity.ProjectID;
     hourlyLeave.WorkflowStageID = entity.WorkflowStageID;
     hourlyLeave.UserId          = entity.UserId;
     hourlyLeave.RegisterDate    = entity.RegisterDate;
     hourlyLeave.OrganisationId  = entity.OrganisationId;
     hourlyLeave.LeaveDate       = entity.LeaveDate;
     hourlyLeave.From            = entity.From;
     hourlyLeave.To              = entity.To;
 }
        // GET: HourlyLeaves/Details/5
        public ActionResult Details(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.BadRequest, "آی دی مرخصی ارسال نشده است"));
            }
            HourlyLeaveManager hl          = new HourlyLeaveManager(UOW);
            HourlyLeave        hourlyLeave = hl.GetByID(id);

            if (hourlyLeave == null)
            {
                return(this.StatusCode(statusCode: (int)System.Net.HttpStatusCode.NotFound, "مرخصی با آی دی ارسال شده یافت نشد"));
            }
            return(View(new HourlyLeaveAssembler().ToJson(hourlyLeave)));
        }
        public HourlyLeaveJson ToJson(HourlyLeave hourlyLeave)
        {
            HourlyLeaveJson result = new HourlyLeaveJson();

            result.ID              = hourlyLeave.ID;
            result.RegisterDate    = DateUtility.GetPersianDate(hourlyLeave.RegisterDate);
            result.LeaveDate       = DateUtility.GetPersianDate(hourlyLeave.LeaveDate);
            result.From            = DateUtility.ConvertDateTimeToTime(hourlyLeave.From);
            result.TO              = DateUtility.ConvertDateTimeToTime(hourlyLeave.To);
            result.Organisation    = hourlyLeave.OrganisationId != null ? hourlyLeave.Organisation.Title : "فاقد واحد سازمانی";
            result.PersonnelNumber = hourlyLeave.User.Code != null ? hourlyLeave.User.Code : "فاقد کد پرسنلی";
            result.ProjectTitle    = hourlyLeave.Project != null ? hourlyLeave.Project.Title : "فاقد پروژه";
            result.UserTitle       = hourlyLeave.User.UserTitle;
            return(result);
        }
        // GET: HourlyLeaves/Details/5
        public ActionResult Details(Guid id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HourlyLeaveManager hl          = new HourlyLeaveManager(UOW);
            HourlyLeave        hourlyLeave = hl.GetByID(id);

            if (hourlyLeave == null)
            {
                return(HttpNotFound());
            }
            return(View(new HourlyLeaveAssembler().ToJson(hourlyLeave)));
        }
        public ActionResult Edit(HourlyLeave hourlyLeave)
        {
            HourlyLeaveManager hm = new HourlyLeaveManager(UOW);
            ProjectManager     pm = new ProjectManager(UOW);
            UserManager        um = new UserManager(UOW);

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

                return(RedirectToAction("Index"));
            }
            ViewBag.ProjectID   = new SelectList(pm.GetByUser(this.CurrentUser), "ID", "Title");
            ViewBag.SuccessorID = new SelectList(um.GetAll(), "ID", "UserTitle");
            return(View(hourlyLeave));
        }
Exemple #7
0
        public IActionResult SaveHourlyLeave(HourlyLeave hourlyLeave)
        {
            try
            {
                if (hourlyLeave == null)
                {
                    throw new Exception("اطلاعات مرخصی ارسال نشده است");
                }
                var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName);

                HourlyLeaveManager hm = new HourlyLeaveManager(this._uow);
                ProjectManager     pm = new ProjectManager(this._uow);
                UserManager        um = new UserManager(this._uow);
                hourlyLeave.UserId         = currentUser.ID;
                hourlyLeave.OrganisationId = currentUser.OrganizationUnitID;

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

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

                var data = new ApproveAndDenyJson()
                {
                    id              = hourlyLeave.ID.ToString(),
                    date            = DateTime.Now,
                    description     = "",
                    workflowStageID = hourlyLeave.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,PersianLeaveDate")] HourlyLeave hourlyLeave)
        {
            HourlyLeaveManager hm = new HourlyLeaveManager(UOW);
            ProjectManager     pm = new ProjectManager(UOW);
            UserManager        um = new UserManager(UOW);
            var currentUser       = new UserHelper().GetCurrent();

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

                return(RedirectToAction("Index"));
            }
            ViewBag.ProjectID   = new SelectList(pm.GetByUser(currentUser), "ID", "Title");
            ViewBag.SuccessorID = new SelectList(um.GetAll(), "ID", "UserTitle");
            return(View(hourlyLeave));
        }
        public ActionResult Approve(Guid id)
        {
            HourlyLeaveManager dlm = new HourlyLeaveManager(UOW);
            ProjectManager     pm  = new ProjectManager(UOW);
            UserManager        um  = new UserManager(UOW);

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

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

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

            if (hourlyLeave == null)
            {
                return(HttpNotFound());
            }
            return(View(new HourlyLeaveAssembler().ToJson(hourlyLeave)));
        }
        // GET: HourlyLeaves/Edit/5
        public ActionResult Edit(Guid id)
        {
            HourlyLeaveManager hm = new HourlyLeaveManager(UOW);
            ProjectManager     pm = new ProjectManager(UOW);
            UserManager        um = new UserManager(UOW);

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

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

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

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

            hourlyLeave.UserId         = this.CurrentUser.ID;
            hourlyLeave.OrganisationId = this.CurrentUser.OrganizationUnitID;

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

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

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

            return(View(hourlyLeave));
        }
        public ActionResult Create([Bind(Include = "ID,From,To,ProjectID,PersianTimeFrom,PersianTimeTo,PersianLeaveDate")] HourlyLeave hourlyLeave)
        {
            HourlyLeaveManager hm = new HourlyLeaveManager(UOW);
            ProjectManager     pm = new ProjectManager(UOW);
            UserManager        um = new UserManager(UOW);
            var currentUser       = new UserHelper().GetCurrent();

            hourlyLeave.UserId         = currentUser.ID;
            hourlyLeave.OrganisationId = currentUser.OrganizationUnitID;

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

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

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

            return(View(hourlyLeave));
        }
Exemple #15
0
        public IActionResult SaveHourlyLeave(HourlyLeave hourlyLeave)
        {
            try
            {
                if (hourlyLeave == null)
                {
                    throw new Exception("اطلاعات مرخصی ارسال نشده است");
                }
                var currentUser = new UserHelper().GetCurrent(this._uow, this.UserName);

                HourlyLeaveManager hm = new HourlyLeaveManager(this._uow);
                ProjectManager     pm = new ProjectManager(this._uow);
                UserManager        um = new UserManager(this._uow);
                hourlyLeave.UserId         = currentUser.ID;
                hourlyLeave.OrganisationId = currentUser.OrganizationUnitID;

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

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

                return(Ok(true));
            }
            catch (Exception ex)
            {
                return(this.ReturnError(ex, "خطا در ذخیره مرخصی ساعتی"));
            }
        }
Exemple #16
0
 public bool IsExist(HourlyLeave hourlyLeave)
 {
     return(_RASContext.HourlyLeaves.Any(X => X.ID == hourlyLeave.ID));
 }
Exemple #17
0
        public void Edit(HourlyLeave hourlyLeave)
        {
            var edithourlyLeave = GetByID(hourlyLeave.ID);

            FillEntity(edithourlyLeave, hourlyLeave);
        }
Exemple #18
0
 public void Delete(HourlyLeave hourlyLeave)
 {
     _RASContext.HourlyLeaves.Remove(hourlyLeave);
 }
Exemple #19
0
        private void approveDenyHourlyLeave(bool isApprove, Domain.User currentUser, TimeSheetManager timeSheetManager, HourlyLeaveManager dlm, HourlyLeave 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);
            }
        }