Beispiel #1
0
        public TraCrfItemViewModel InitialModel(TraCrfItemViewModel model)
        {
            var list          = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE && x.GROUP_LEVEL > 0).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
            var listReason    = _reasonBLL.GetReason().Where(x => x.DocumentType == (int)Enums.DocumentType.TMP).Select(x => new { x.MstReasonId, x.Reason }).ToList().OrderBy(x => x.Reason);
            var listVehType   = _settingBLL.GetSetting().Where(x => x.SettingGroup == "VEHICLE_TYPE").Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listVehCat    = _settingBLL.GetSetting().Where(x => x.SettingGroup == "VEHICLE_CATEGORY").Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listVehUsage  = _settingBLL.GetSetting().Where(x => x.SettingGroup.Contains("VEHICLE_USAGE_BENEFIT")).Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listSupMethod = _settingBLL.GetSetting().Where(x => x.SettingGroup == "SUPPLY_METHOD").Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listProject   = _settingBLL.GetSetting().Where(x => x.SettingGroup == "PROJECT").Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listRelocate  = _settingBLL.GetSetting().Where(x => x.SettingGroup == "RELOCATION_TYPE").Select(x => new { x.SettingName, x.SettingValue }).ToList();
            var listLocation  = _employeeBLL.GetCityLocation();



            model.EmployeeList     = new SelectList(list, "EMPLOYEE_ID", "FORMAL_NAME");
            model.LocationList     = new SelectList(listLocation, "City", "City");
            model.ReasonList       = new SelectList(listReason, "MstReasonId", "Reason");
            model.VehicleTypeList  = new SelectList(listVehType, "SettingName", "SettingValue");
            model.VehicleCatList   = new SelectList(listVehCat, "SettingName", "SettingValue");
            model.VehicleUsageList = new SelectList(listVehUsage, "SettingName", "SettingValue");
            model.SupplyMethodList = new SelectList(listSupMethod, "SettingName", "SettingValue");
            model.ProjectList      = new SelectList(listProject, "SettingName", "SettingValue");
            model.RelocateList     = new SelectList(listRelocate, "SettingName", "SettingValue");

            model.CurrentLogin = CurrentUser;

            model.MainMenu = _mainMenu;

            return(model);
        }
Beispiel #2
0
        public ActionResult CreateTemporary(TraCrfItemViewModel model)
        {
            bool isSuccess = false;

            try
            {
                TemporaryDto item = new TemporaryDto();

                var csfData = _CRFBLL.GetDataById(model.Detail.TraCrfId);

                if (csfData == null)
                {
                    return(HttpNotFound());
                }

                item                 = AutoMapper.Mapper.Map <TemporaryDto>(csfData);
                item.CREATED_BY      = CurrentUser.USER_ID;
                item.CREATED_DATE    = DateTime.Now;
                item.DOCUMENT_STATUS = Enums.DocumentStatus.Draft;
                item.START_DATE      = model.DetailTemporary.StartDate;
                item.END_DATE        = model.DetailTemporary.EndDate;
                item.REASON_ID       = model.DetailTemporary.ReasonId.Value;
                item.BODY_TYPE       = csfData.Body;
                var fleetData    = _fleetBLL.GetVehicleByEmployeeId(csfData.EMPLOYEE_ID, csfData.VEHICLE_TYPE);
                var settingData  = _settingBLL.GetSetting().FirstOrDefault(x => x.SettingGroup == "VEHICLE_TYPE" && x.SettingName == csfData.VEHICLE_TYPE);
                var employeeData = _employeeBLL.GetByID(csfData.EMPLOYEE_ID);
                item.COLOR         = fleetData.Color;
                item.POLICE_NUMBER = csfData.POLICE_NUMBER;
                if (settingData != null)
                {
                    item.VEHICLE_TYPE = settingData.MstSettingId.ToString();
                }

                item.VENDOR_MANUFACTURER = null;
                item.VENDOR_MODEL        = null;
                item.VENDOR_SERIES       = null;
                item.VENDOR_BODY_TYPE    = null;
                item.GROUP_LEVEL         = employeeData.GROUP_LEVEL;
                var tempData = _CRFBLL.SaveTemp(item, model.Detail.ExpectedDate.Value, CurrentUser);

                isSuccess = true;
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
            }

            if (!isSuccess)
            {
                return(RedirectToAction("Details", "TraCrf", new { id = model.Detail.TraCrfId, isPersonalDashboard = model.IsPersonalDashboard }));
            }
            AddMessageInfo("Success Add Temporary Data", Enums.MessageInfoType.Success);
            return(RedirectToAction("Edit", "TraCrf", new { id = model.Detail.TraCrfId, isPersonalDashboard = model.IsPersonalDashboard }));
        }
Beispiel #3
0
        public ActionResult Submit(TraCrfItemViewModel model)
        {
            //var model = new TraCrfItemViewModel();

            model.MainMenu     = _mainMenu;
            model.CurrentLogin = CurrentUser;

            model             = InitialModel(model);
            model.ChangesLogs = GetChangesHistory((int)Enums.MenuList.TraCrf, (int)model.Detail.TraCrfId);
            //var data = _CRFBLL.GetDataById((int)model.Detail.TraCrfId);
            //model.Detail = Mapper.Map<TraCrfItemDetails>(data);
            try
            {
                var dataSubmit = Mapper.Map <TraCrfDto>(model.Detail);
                dataSubmit.IS_ACTIVE = true;
                _CRFBLL.SubmitCrf(dataSubmit, CurrentUser);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
                model             = InitialModel(model);
                model.ChangesLogs = GetChangesHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);
                if (!string.IsNullOrEmpty(model.Detail.LocationCityNew))
                {
                    var dataLocationNew = _employeeBLL.GetLocationByCity(model.Detail.LocationCityNew);

                    model.LocationNewList = new SelectList(dataLocationNew, "Location", "Location");
                }
                model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);

                var list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE && x.GROUP_LEVEL > 0).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                if (CurrentUser.UserRole == Enums.UserRole.Fleet)
                {
                    list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                }
                model.EmployeeList = new SelectList(list, "EMPLOYEE_ID", "FORMAL_NAME");

                var tempData = _CRFBLL.GetTempByCsf(model.Detail.DocumentNumber);
                model.TemporaryList = Mapper.Map <List <TemporaryData> >(tempData);

                model.ErrorMessage = ex.Message;
                return(View("Edit", model));
            }
        }
Beispiel #4
0
        public ActionResult Edit(long id, bool isPersonalDashboard)
        {
            var model = new TraCrfItemViewModel();

            model.MainMenu     = _mainMenu;
            model.CurrentLogin = CurrentUser;


            var data = _CRFBLL.GetDataById(id);

            if (!_CRFBLL.IsAllowedEdit(CurrentUser, data))
            {
                return(RedirectToAction("Details", new { id = data.TRA_CRF_ID, isPersonalDashboard = isPersonalDashboard }));
            }
            model             = InitialModel(model);
            model.ChangesLogs = GetChangesHistory((int)Enums.MenuList.TraCrf, id);
            model.Detail      = Mapper.Map <TraCrfItemDetails>(data);
            if (!string.IsNullOrEmpty(model.Detail.LocationCityNew))
            {
                var dataLocationNew = _employeeBLL.GetLocationByCity(model.Detail.LocationCityNew);

                model.LocationNewList = new SelectList(dataLocationNew, "Location", "Location");
            }
            model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);

            var list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE && x.GROUP_LEVEL > 0).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);

            if (CurrentUser.UserRole == Enums.UserRole.Fleet)
            {
                list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
            }
            model.EmployeeList = new SelectList(list, "EMPLOYEE_ID", "FORMAL_NAME");

            var tempData = _CRFBLL.GetTempByCsf(model.Detail.DocumentNumber);

            model.TemporaryList             = Mapper.Map <List <TemporaryData> >(tempData);
            model.DetailTemporary.StartDate = DateTime.Now;
            model.DetailTemporary.EndDate   = DateTime.Now;

            var RemarkList = _remarkBLL.GetRemark().Where(x => x.RoleType == CurrentUser.UserRole.ToString() && x.DocumentType == (int)Enums.DocumentType.CRF).ToList();

            model.RemarkList          = new SelectList(RemarkList, "MstRemarkId", "Remark");
            model.IsPersonalDashboard = isPersonalDashboard;
            return(View(model));
        }
Beispiel #5
0
        public ActionResult Create(long?epafId)
        {
            var model = new TraCrfItemViewModel();

            model.MainMenu     = _mainMenu;
            model.CurrentLogin = CurrentUser;
            try
            {
                model.MainMenu     = _mainMenu;
                model.CurrentLogin = CurrentUser;
                model = InitialModel(model);
                if (epafId.HasValue && epafId.Value > 0)
                {
                    var dataEpaf     = _epafBLL.GetEpafById(epafId);
                    var dataFromEpaf = Mapper.Map <TraCrfItemDetails>(dataEpaf);
                    model.Detail = dataFromEpaf;
                }
                model.Detail.CreatedBy   = CurrentUser.USER_ID;
                model.Detail.CreatedDate = DateTime.Now;
                var list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE && x.GROUP_LEVEL > 0).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                if (CurrentUser.UserRole == Enums.UserRole.HR)
                {
                    model.Detail.VehicleType = "BENEFIT";
                }
                else if (CurrentUser.UserRole == Enums.UserRole.Fleet)
                {
                    list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                    model.Detail.VehicleType = "WTC";
                }
                model.EmployeeList          = new SelectList(list, "EMPLOYEE_ID", "FORMAL_NAME");
                model.LocationNewList       = new SelectList(new List <SelectListItem>());
                model.Detail.DocumentStatus = (int)Enums.DocumentStatus.Draft;
                return(View(model));
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
                model = InitialModel(model);
                model.ErrorMessage    = ex.Message;
                model.LocationNewList = new SelectList(new List <SelectListItem>());
                return(View(model));
            }
        }
Beispiel #6
0
        public ActionResult Edit(TraCrfItemViewModel model)
        {
            try
            {
                var dataToSave = Mapper.Map <TraCrfDto>(model.Detail);
                dataToSave.IS_ACTIVE     = true;
                dataToSave.MODIFIED_BY   = CurrentUser.USER_ID;
                dataToSave.MODIFIED_DATE = DateTime.Now;
                _CRFBLL.SaveCrf(dataToSave, CurrentUser);
                return(RedirectToAction("Edit", new { id = model.Detail.TraCrfId, isPersonalDashboard = model.IsPersonalDashboard }));
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
                model             = InitialModel(model);
                model.ChangesLogs = GetChangesHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);
                if (!string.IsNullOrEmpty(model.Detail.LocationCityNew))
                {
                    var dataLocationNew = _employeeBLL.GetLocationByCity(model.Detail.LocationCityNew);

                    model.LocationNewList = new SelectList(dataLocationNew, "Location", "Location");
                }
                model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);

                var list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE && x.GROUP_LEVEL > 0).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                if (CurrentUser.UserRole == Enums.UserRole.Fleet)
                {
                    list = _employeeBLL.GetEmployee().Where(x => x.IS_ACTIVE).Select(x => new { x.EMPLOYEE_ID, x.FORMAL_NAME }).ToList().OrderBy(x => x.FORMAL_NAME);
                }
                model.EmployeeList = new SelectList(list, "EMPLOYEE_ID", "FORMAL_NAME");

                var tempData = _CRFBLL.GetTempByCsf(model.Detail.DocumentNumber);
                model.TemporaryList = Mapper.Map <List <TemporaryData> >(tempData);
                model.ErrorMessage  = ex.Message;

                var RemarkList = _remarkBLL.GetRemark().Where(x => x.RoleType == CurrentUser.UserRole.ToString() && x.DocumentType == (int)Enums.DocumentType.CRF).ToList();
                model.RemarkList = new SelectList(RemarkList, "MstRemarkId", "Remark");

                return(View(model));
            }
        }
Beispiel #7
0
        public ActionResult Approve(long TraCrfId, int?remark, bool IsApproved)
        {
            var model = new TraCrfItemViewModel();

            model.MainMenu     = _mainMenu;
            model.CurrentLogin = CurrentUser;

            try
            {
                if (IsApproved)
                {
                    _CRFBLL.Approve(TraCrfId, CurrentUser);
                }
                else
                {
                    _CRFBLL.Reject(TraCrfId, remark, CurrentUser);
                }
                return(RedirectToAction("Edit", new { id = TraCrfId, isPersonalDashboard = model.IsPersonalDashboard }));
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
                model              = InitialModel(model);
                model.ChangesLogs  = GetChangesHistory((int)Enums.MenuList.TraCrf, TraCrfId);
                model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCsf, model.Detail.TraCrfId);
                var data          = _CRFBLL.GetDataById(TraCrfId);
                var dataLocations = _employeeBLL.GetLocationAll();
                model.LocationNewList = new SelectList(dataLocations, "Location", "Location");

                model.IsAllowedApprove = _CRFBLL.IsAllowedApprove(CurrentUser, data);
                model.Detail           = Mapper.Map <TraCrfItemDetails>(data);

                var RemarkList = _remarkBLL.GetRemark().Where(x => x.RoleType == CurrentUser.UserRole.ToString() && x.DocumentType == (int)Enums.DocumentType.CRF).ToList();

                model.RemarkList = new SelectList(RemarkList, "MstRemarkId", "Remark");

                return(View("Edit", model));
            }
        }
Beispiel #8
0
 public ActionResult Create(TraCrfItemViewModel model)
 {
     try
     {
         var dataToSave = Mapper.Map <TraCrfDto>(model.Detail);
         dataToSave.CREATED_BY      = CurrentUser.USER_ID;
         dataToSave.CREATED_DATE    = DateTime.Now;
         dataToSave.DOCUMENT_STATUS = (int)Enums.DocumentStatus.Draft;
         dataToSave.IS_ACTIVE       = true;
         dataToSave.IsSend          = model.IsSend;
         var data = _CRFBLL.SaveCrf(dataToSave, CurrentUser);
         return(RedirectToAction("Edit", new { id = data.TRA_CRF_ID, isPersonalDashboard = model.IsPersonalDashboard }));
     }
     catch (Exception ex)
     {
         AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
         model = InitialModel(model);
         model.ErrorMessage    = ex.Message;
         model.LocationNewList = new SelectList(new List <SelectListItem>());
         return(View(model));
     }
 }
Beispiel #9
0
        public ActionResult Details(long id, bool isPersonalDashboard)
        {
            var model = new TraCrfItemViewModel();

            model.MainMenu     = _mainMenu;
            model.CurrentLogin = CurrentUser;

            model              = InitialModel(model);
            model.ChangesLogs  = GetChangesHistory((int)Enums.MenuList.TraCrf, id);
            model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCsf, model.Detail.TraCrfId);
            var data          = _CRFBLL.GetDataById(id);
            var dataLocations = _employeeBLL.GetLocationAll();

            model.LocationNewList = new SelectList(dataLocations, "Location", "Location");

            model.IsAllowedApprove = _CRFBLL.IsAllowedApprove(CurrentUser, data);
            model.Detail           = Mapper.Map <TraCrfItemDetails>(data);

            var RemarkList =
                _remarkBLL.GetRemark()
                .Where(
                    x =>
                    x.RoleType == CurrentUser.UserRole.ToString() &&
                    x.DocumentType == (int)Enums.DocumentType.CRF).ToList();

            model.RemarkList = new SelectList(RemarkList, "MstRemarkId", "Remark");

            model.WorkflowLogs = GetWorkflowHistory((int)Enums.MenuList.TraCrf, model.Detail.TraCrfId);

            var tempData = _CRFBLL.GetTempByCsf(model.Detail.DocumentNumber);

            model.TemporaryList             = Mapper.Map <List <TemporaryData> >(tempData);
            model.DetailTemporary.StartDate = DateTime.Now;
            model.DetailTemporary.EndDate   = DateTime.Now;
            model.IsPersonalDashboard       = isPersonalDashboard;
            return(View(model));
        }