public ActionResult Create(FormCollection formCollection)
        {
            Delegation delegation = new Delegation();

            if (Common.CheckAdmin())
            {
                return(RedirectToAction("Login", "Default"));
            }
            if (ModelState.IsValid)
            {
                User user = _userBService.GetDetail(Convert.ToInt32(formCollection["FromUser"]));
                user.MobileToken = Common.AccessToken() + user.UserId;
                user             = _userBService.Edit(user);

                delegation.FromUser  = Convert.ToInt32(formCollection["FromUser"]);
                delegation.ToUser    = Convert.ToInt32(formCollection["ToUser"]);
                delegation.StartDate = Convert.ToDateTime(formCollection["StartDate"]);
                delegation.EndDate   = Convert.ToDateTime(formCollection["EndDate"]);

                delegation.CreatedAt = DateTime.Now;
                delegation.Status    = delegation.CreatedAt < delegation.StartDate ? 3 : 1;

                Delegation DelegationAddResult = _userBService.AddDelegation(delegation);
                int        DelegateId          = DelegationAddResult.DelegateId;
                if (Convert.ToInt32(Session["userid"]) == delegation.FromUser)
                {
                    Session["DelegateStatus"] = DelegationAddResult.Status;
                    Session["DelegateTo"]     = _userBService.GetDetail(DelegationAddResult.ToUser).Name;
                    Session["DelegateUntil"]  = delegation.EndDate;
                    Session["DelegateStart"]  = delegation.StartDate;
                }
            }
            return(RedirectToAction("Details/" + delegation.DelegateId, "Delegation"));
        }
        public ActionResult Approve2Mail(User user, FormCollection collect)
        {
            string token = Common.AccessToken() + user.EmployeeId;

            token = token.Replace("/", "");
            token = token.Replace("+", "");

            var employeeM = _mstEmployeeBService.GetDetail(user.Approval2);

            var userTsManagerModel = _userTsManagerBusinessService.GetDetail(1);
            var Spv1 = _mstEmployeeBService.GetDetail(_mstEmployeeBService.GetDetail(user.EmployeeId).Superior_ID);
            var Spv2 = _mstEmployeeBService.GetDetail(Spv1.Superior_ID);
            //next to approval 2
            var userT = _userBService.GetDetail(user.UserId);

            userT.Status        = 5;
            userT.UpdatedAt     = DateTime.Now;
            userT.MobileToken   = token;
            userT.NameApproval2 = employeeM.Employee_Name;
            userT.DateApproval2 = DateTime.Now;

            userT.UserTsManager1Id   = userTsManagerModel.UserTsManagerId;
            userT.UserTsManager1Name = userTsManagerModel.Name;
            var addDay = Common.NumberOfWorkDays(DateTime.Now, WebConfigure.GetApprovalTsManagerDay());

            userT.UserTsManager1DueDate = DateTime.Now.AddDays(addDay);
            userT.UserTsManagerDueFlag  = 1;

            _userBService.Edit(userT);


            //insert UserMessage
            UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);

            userM.Message        = String.IsNullOrWhiteSpace(collect["approveMsg"]) ? "" : collect["approveMsg"];
            userM.MessageType    = "Approve 2";
            userM.ToUserId       = Convert.ToInt32(collect["UserId"]);
            userM.CreatedAt      = DateTime.Now;
            userM.ToEmployeeId   = userT.EmployeeId;
            userM.FromEmployeeId = userT.Approval2;

            _userMessageBService.Add(userM);

            Dictionary <String, EmployeeMaster> ApprovalData = new Dictionary <string, EmployeeMaster>();
            Dictionary <String, String>         Message      = new Dictionary <String, String>();

            ApprovalData.Add("Approval1", Spv1);
            ApprovalData.Add("Approval2", Spv2);
            ApprovalData.Add("ApprovalTS", _mstEmployeeBService.GetDetail(userTsManagerModel.EmployeeId));

            Message.Add("Approval1", _userMessageBService.GetDetail(Spv1.Employee_Id, 0, "Approve 1 - Registering").Message);
            Message.Add("Approval2", _userMessageBService.GetDetail(Spv2.Employee_Id, 0, "Approve 2 - Registering").Message);
            Message.Add("ApprovalTS", collect["ApproveMsg"]);


            //Send Email TsManager
            Email.SendMailNeedAppTs1(userT, 1, userM.Message);
            Email.SendMailResApp1(userT, userM.Message, 2, 1);
            return(RedirectToAction("ApproveList"));
        }
        public ActionResult Reject2(FormCollection collect)
        {
            if (!string.IsNullOrWhiteSpace(collect["rejectMsg"]) || !string.IsNullOrEmpty(collect["rejectMsg"]))
            {
                string token = Common.AccessToken();
                token = token.Replace("/", "");
                token = token.Replace("+", "");

                //next to reject
                var userT = _userBService.GetDetail(Convert.ToInt32(collect["UserId"]));
                userT.Status      = 6;
                userT.UpdatedAt   = DateTime.Now;
                userT.MobileToken = token;
                _userBService.Edit(userT);
                User userData = _userBService.Edit(userT);

                EmployeeMaster SuperiorData1 = _mstEmployeeBService.GetDetail(_mstEmployeeBService.GetDetail(userData.EmployeeId).Superior_ID);
                EmployeeMaster SuperiorData2 = _mstEmployeeBService.GetDetail(SuperiorData1.Superior_ID);
                //insert UserMessage
                UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);
                userM.Message     = collect["rejectMsg"];
                userM.MessageType = "Reject 2";
                userM.ToUserId    = Convert.ToInt32(collect["UserId"]);
                //UserM.FromUserId = Convert.ToInt32(Session["userid"]);
                userM.CreatedAt      = DateTime.Now;
                userM.ToEmployeeId   = userT.EmployeeId;
                userM.FromEmployeeId = userT.Approval2;

                _userMessageBService.Add(userM);
                Email.SendMailResApp1(userT, collect["rejectMsg"], 2, 0);
                //send email
                Email.SendMailReject(userT, userM, SuperiorData2);
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(int id, FormCollection formCollection)
        {
            if (Common.CheckAdmin())
            {
                return(RedirectToAction("Login", "Default"));
            }

            Delegation delegation = _userBService.GetDetailDelegation(id);
            User       user       = _userBService.GetDetail(delegation.FromUser);

            user.MobileToken = Common.AccessToken() + user.UserId;
            user             = _userBService.Edit(user);

            User fromUserData = _userBService.GetDetail(delegation.FromUser);
            User toUserData   = _userBService.GetDetail(delegation.ToUser);

            User fromuser = new User()
            {
                UserId = fromUserData.UserId,
                Name   = fromUserData.Name
            };

            User touser = new User()
            {
                UserId = toUserData.UserId,
                Name   = toUserData.Name
            };

            ViewBag.FromUser = fromuser;
            ViewBag.ToUser   = touser;

            var UserData = _userBService.GetListActive();

            ViewBag.Userlist = UserData;

            var currentToUser = delegation.ToUser;

            delegation.DelegateId = id;
            delegation.FromUser   = delegation.FromUser;
            delegation.ToUser     = Convert.ToInt32(formCollection["ToUser"]);
            delegation.EndDate    = Convert.ToDateTime(formCollection["EndDate"]);
            delegation.StartDate  = Convert.ToDateTime(formCollection["StartDate"]);
            delegation.Status     = DateTime.Now < delegation.StartDate ? 3 : 1;

            Delegation DelegationResult = _userBService.EditDelegation(delegation, id, currentToUser);

            if (Convert.ToInt32(Session["userid"]) == delegation.FromUser)
            {
                Session["DelegateStatus"] = DelegationResult.Status;
                Session["DelegateTo"]     = _userBService.GetDetail(DelegationResult.ToUser).Name;
                Session["DelegateUntil"]  = DelegationResult.EndDate;
                Session["DelegateStart"]  = DelegationResult.StartDate;
            }

            return(RedirectToAction("Details/" + DelegationResult.DelegateId, "Delegation"));
        }
        public ActionResult ApproveTsMail(User user, FormCollection collect)
        {
            string token = Common.AccessToken() + user.EmployeeId;

            token = token.Replace("/", "");
            token = token.Replace("+", "");
            var userTsManagerModel = _userTsManagerBusinessService.GetDetail(1);
            var Spv1 = _mstEmployeeBService.GetDetail(_mstEmployeeBService.GetDetail(user.EmployeeId).Superior_ID);
            var Spv2 = _mstEmployeeBService.GetDetail(Spv1.Superior_ID);
            //next to approval Admin
            var userT = _userBService.GetDetail(user.UserId);

            userT.Status               = 9;
            userT.UpdatedAt            = DateTime.Now;
            userT.MobileToken          = token;
            userT.UserTsManagerDueFlag = 0;

            _userBService.Edit(userT);

            if (collect["approveMsg"] != null)
            {
                //insert UserMessage
                UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);
                userM.Message        = collect["approveMsg"];
                userM.MessageType    = "Approve TS";
                userM.ToUserId       = Convert.ToInt32(collect["UserId"]);
                userM.CreatedAt      = DateTime.Now;
                userM.ToEmployeeId   = userT.EmployeeId;
                userM.FromEmployeeId = userTsManagerModel.EmployeeId;

                _userMessageBService.Add(userM);
            }

            Dictionary <String, EmployeeMaster> ApprovalData = new Dictionary <string, EmployeeMaster>();
            Dictionary <String, String>         Message      = new Dictionary <String, String>();

            ApprovalData.Add("Approval1", Spv1);
            ApprovalData.Add("Approval2", Spv2);
            ApprovalData.Add("ApprovalTS", _mstEmployeeBService.GetDetail(userTsManagerModel.EmployeeId));

            Message.Add("Approval1", _userMessageBService.GetDetail(Spv1.Employee_Id, 0, "Approve 1 - Registering").Message);
            Message.Add("Approval2", _userMessageBService.GetDetail(Spv2.Employee_Id, 0, "Approve 2 - Registering").Message);
            Message.Add("ApprovalTS", collect["ApproveMsg"]);


            //Send Email Admin
            Email.SendMailNeedActivedAdmin(userT, ApprovalData, Message);
            Email.SendMailResApp1(userT, collect["approveMsg"], 3, 1);
            return(RedirectToAction("Login"));
        }
        public ActionResult ApproveTsMail(FormCollection collect)
        {
            ViewBag.UseFullLink = _articleBs.getUseFullLink().Count > 0 ? _articleBs.getUseFullLink() : null;
            string token = Common.AccessToken() + Convert.ToInt32(collect["ArticleId"]);

            token = token.Replace("/", "");
            token = token.Replace("+", "");
            var articleData = _articleBs.GetDetail(Convert.ToInt32(collect["ArticleId"]));
            var userT       = _userBService.GetByEmployeeId(Convert.ToInt32(collect["EmployeeId"]));
            var Spv2        = _mstEmployeeBService.GetDetail(Convert.ToInt32(collect["EmployeeSPVId"]));
            var Spv1        = _mstEmployeeBService.GetDetail(articleData.Aproved1By);
            var TsManager   = _userTsManagerBusinessService.GetDetail(1);

            articleData.Token      = token;
            articleData.Aproved2By = Spv2.Employee_Id;
            articleData.Aproved2At = DateTime.Now;
            articleData.Status     = 9;
            var Article = _articleBs.Edit(articleData);


            //insert UserMessage
            UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);

            userM.Message     = String.IsNullOrWhiteSpace(collect["ApproveMsg"]) ? null : collect["ApproveMsg"];
            userM.MessageType = "Approve 2";
            userM.ToUserId    = userT.UserId;
            //UserM.FromUserId = Convert.ToInt32(Session["userid"]);
            userM.CreatedAt      = DateTime.Now;
            userM.ToEmployeeId   = userT.EmployeeId;
            userM.FromEmployeeId = TsManager.EmployeeId;
            userM.FromUserType   = Article.ArticleId;
            _userMessageBService.Add(userM, "Article");

            Dictionary <String, EmployeeMaster> ApprovalData = new Dictionary <string, EmployeeMaster>();
            Dictionary <String, String>         Message      = new Dictionary <String, String>();

            ApprovalData.Add("Approval1", Spv1);
            ApprovalData.Add("Approval2", Spv2);
            ApprovalData.Add("ApprovalTS", _mstEmployeeBService.GetDetail(TsManager.EmployeeId));

            Message.Add("Approval1", _userMessageBService.GetDetail(Spv1.Employee_Id, Article.ArticleId, "Article").Message);
            Message.Add("Approval2", _userMessageBService.GetDetail(Spv2.Employee_Id, Article.ArticleId, "Article").Message);
            Message.Add("ApprovalTS", collect["ApproveMsg"]);

            Email.SendMailResAppArticle(Article, Spv2, userT, collect["ApproveMsg"]);
            Email.SendMailNeedSubmitedAdminArticle(Article, ApprovalData, userT, Message);
            return(RedirectToAction("Index"));
        }
        public ActionResult Approve1Mail(User user, FormCollection collect)
        {
            string token = Common.AccessToken() + user.EmployeeId;

            token = token.Replace("/", "");
            token = token.Replace("+", "");

            var employeeM = _mstEmployeeBService.GetDetail(user.Approval1);

            //next to approval 2
            var userT = _userBService.GetDetail(user.UserId);

            userT.Status        = 3;
            userT.UpdatedAt     = DateTime.Now;
            userT.MobileToken   = token;
            userT.Approval2     = employeeM.Superior_ID;
            userT.NameApproval1 = employeeM.Employee_Name;
            userT.DateApproval1 = DateTime.Now;

            var addDay = Common.NumberOfWorkDays(DateTime.Now, WebConfigure.GetApprovalSpvDay());

            userT.DueDateApproval2 = DateTime.Now.AddDays(addDay);

            userT = _userBService.Edit(userT);


            //insert UserMessage
            UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);

            userM.Message     = String.IsNullOrWhiteSpace(collect["ApproveMsg"]) ? "" : collect["ApproveMsg"];
            userM.MessageType = "Approve 1";
            userM.ToUserId    = Convert.ToInt32(collect["UserId"]);
            //UserM.FromUserId = Convert.ToInt32(Session["userid"]);
            userM.CreatedAt      = DateTime.Now;
            userM.ToEmployeeId   = userT.EmployeeId;
            userM.FromEmployeeId = userT.Approval1;


            _userMessageBService.Add(userM);

            //Send Email to Approval 1 Status Approve
            Email.SendMailResApp1(userT, userM.Message, 1, 1);

            //Send Email to Approval 2 Need Approve
            Email.SendMailNeedApp2(userT, userM.Message);

            return(RedirectToAction("ApproveList"));
        }
        public ActionResult Approve1Mail(FormCollection collect)
        {
            ViewBag.UseFullLink = _articleBs.getUseFullLink().Count > 0 ? _articleBs.getUseFullLink() : null;
            string token = Common.AccessToken() + Convert.ToInt32(collect["ArticleId"]);

            token = token.Replace("/", "");
            token = token.Replace("+", "");

            var employeeM   = _mstEmployeeBService.GetDetail(Convert.ToInt32(collect["EmployeeSPVId"]));
            var employeeM2  = _mstEmployeeBService.GetDetail(employeeM.Superior_ID);
            var userT       = _userBService.GetByEmployeeId(Convert.ToInt32(collect["EmployeeId"]));
            var articleData = _articleBs.GetDetail(Convert.ToInt32(collect["ArticleId"]));

            //articleData.Token = token;
            articleData.Aproved1By = employeeM.Employee_Id;
            articleData.Aproved1At = DateTime.Now;
            articleData.Status     = 5;
            articleData.Token      = token;
            var Article = _articleBs.Edit(articleData);


            //insert UserMessage
            UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);

            userM.Message     = String.IsNullOrWhiteSpace(collect["ApproveMsg"]) ? null : collect["ApproveMsg"];
            userM.MessageType = "Approve 1";
            userM.ToUserId    = userT.UserId;
            //UserM.FromUserId = Convert.ToInt32(Session["userid"]);
            userM.CreatedAt      = DateTime.Now;
            userM.ToEmployeeId   = userT.EmployeeId;
            userM.FromEmployeeId = employeeM.Employee_Id;
            userM.FromUserType   = Article.ArticleId;
            _userMessageBService.Add(userM, "Article");

            Dictionary <String, EmployeeMaster> ApprovalData = new Dictionary <string, EmployeeMaster>();

            ApprovalData.Add("Approval1", employeeM);
            ApprovalData.Add("Approval2", employeeM2);

            Email.SendMailResAppArticle(Article, employeeM, userT, collect["ApproveMsg"]);
            Email.SendMailNeedApp2Article(Article, ApprovalData, userT, collect["ApproveMsg"]);
            return(RedirectToAction("Index"));
        }
        public ActionResult RejectTs(FormCollection collect)
        {
            ViewBag.UseFullLink = _articleBs.getUseFullLink().Count > 0 ? _articleBs.getUseFullLink() : null;
            string token = Common.AccessToken() + Convert.ToInt32(collect["ArticleId"]);

            token = token.Replace("/", "");
            token = token.Replace("+", "");

            var employeeM   = _mstEmployeeBService.GetDetail(Convert.ToInt32(collect["EmployeeSPVId"]));
            var employeeM2  = _mstEmployeeBService.GetDetail(Convert.ToInt32(collect["EmployeeSPV2Id"]));
            var TsManager   = _mstEmployeeBService.GetDetail(Convert.ToInt32(collect["EmployeeTsManagerId"]));
            var userT       = _userBService.GetByEmployeeId(Convert.ToInt32(collect["EmployeeId"]));
            var articleData = _articleBs.GetDetail(Convert.ToInt32(collect["ArticleId"]));

            articleData.Aproved1By = employeeM.Employee_Id;
            articleData.Aproved1At = DateTime.Now;
            articleData.Status     = 10;
            articleData.Token      = token;
            var Article = _articleBs.Edit(articleData);

            //insert UserMessage
            UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);

            userM.Message     = String.IsNullOrWhiteSpace(collect["RejectMsg"]) ? null : collect["RejectMsg"];
            userM.MessageType = "Reject 2";
            userM.ToUserId    = userT.UserId;
            //UserM.FromUserId = Convert.ToInt32(Session["userid"]);
            userM.CreatedAt      = DateTime.Now;
            userM.ToEmployeeId   = userT.EmployeeId;
            userM.FromEmployeeId = TsManager.Employee_Id;
            userM.FromUserType   = Article.ArticleId;
            _userMessageBService.Add(userM, "Article");

            Email.SendMailResAppArticle(Article, employeeM, userT, collect["RejectMsg"], false);
            Email.SendMailRejectArticle(Article, TsManager, userT, collect["RejectMsg"]);
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            if (Common.CheckAdmin())
            {
                return(RedirectToAction("Login", "Default"));
            }
            Delegation delegation = _userBService.GetDetailDelegation(id);
            int        from       = delegation.FromUser;
            int        to         = delegation.ToUser;

            delegation.Status = 0;
            _userBService.DeleteDelegation(delegation, id);
            Session["DelegateStatus"] = 0;
            Session["DelegateTo"]     = null;
            Session["DelegateUntil"]  = null;
            Session["DelegateStart"]  = null;

            User user = _userBService.GetDetail(delegation.FromUser);

            user.MobileToken = Common.AccessToken() + user.UserId;
            user             = _userBService.Edit(user);

            return(RedirectToAction("Index"));
        }
        public ActionResult RejectTs(FormCollection collect)
        {
            if (!string.IsNullOrWhiteSpace(collect["rejectMsg"]) || !string.IsNullOrEmpty(collect["rejectMsg"]))
            {
                string token = Common.AccessToken();
                token = token.Replace("/", "");
                token = token.Replace("+", "");

                var userTsManagerModel = _userTsManagerBusinessService.GetDetail(1);

                //next to reject
                var userT = _userBService.GetDetail(Convert.ToInt32(collect["UserId"]));
                userT.Status               = 10;
                userT.UpdatedAt            = DateTime.Now;
                userT.MobileToken          = token;
                userT.UserTsManagerDueFlag = 0;
                User userData = _userBService.Edit(userT);

                //insert UserMessage
                UserMessage userM = Factory.Create <UserMessage>("UserMessage", ClassType.clsTypeDataModel);
                userM.Message        = collect["rejectMsg"];
                userM.MessageType    = "Reject Ts Manager";
                userM.ToUserId       = Convert.ToInt32(collect["UserId"]);
                userM.CreatedAt      = DateTime.Now;
                userM.ToEmployeeId   = userT.EmployeeId;
                userM.FromEmployeeId = userTsManagerModel.EmployeeId;

                _userMessageBService.Add(userM);


                Email.SendMailResApp1(userT, collect["rejectMsg"], 3, 0);
                //send email
                Email.SendMailReject(userT, userM, _mstEmployeeBService.GetDetail(userM.FromEmployeeId));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Create(User user)
        {
            SetListDropdown();

            if (Common.CheckAdmin())
            {
                return(RedirectToAction("Login", "Default"));
            }
            ModelState.Remove("TechnicalJobExperienceDuration");
            ModelState.Remove("TechnicalJobTitle");
            ModelState.Remove("RoleDescription");
            ModelState.Remove("Phone");
            ModelState.Remove("MasterAreaId");
            ModelState.Remove("MasterBranchId");
            if (ModelState.IsValid)
            {
                if (RegisterValidate(user))
                {
                    string token = Common.AccessToken() + user.EmployeeId;

                    var employeeM = _employeeMasterBs.GetDetail(user.EmployeeId);
                    user             = this.ParsingUser(user);
                    user.CreatedAt   = DateTime.Now;
                    user.Status      = 2;
                    token            = token.Replace("/", "");
                    token            = token.Replace("+", "");
                    user.MobileToken = token;
                    user.Approval1   = employeeM.Superior_ID;
                    user.POH_Name    = employeeM.POH_Name;
                    user.Email       = employeeM.Email;
                    if (user.MasterAreaId == 0)
                    {
                        user.AreaName     = null;
                        user.MasterAreaId = 0;
                    }
                    else
                    {
                        user.MasterAreaId = _masterAreaBs.GetDetail(user.MasterAreaId).MasterAreaId;
                        user.AreaName     = _masterAreaBs.GetDetail(user.MasterAreaId).Name;
                    }
                    if (user.MasterBranchId == 0)
                    {
                        user.BranchName     = null;
                        user.MasterBranchId = 0;
                    }
                    else
                    {
                        user.MasterBranchId = _masterBranchBs.GetDetail(user.MasterBranchId).MasterBranchId;
                        user.BranchName     = _masterBranchBs.GetDetail(user.MasterBranchId).Name;
                    }

                    var addDay = Common.NumberOfWorkDays(DateTime.Now, WebConfigure.GetApprovalSpvDay());
                    user.DueDateApproval1 = DateTime.Now.AddDays(addDay);

                    if (Request.Files.Count > 0)
                    {
                        for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                        {
                            var    file     = Request.Files[i];
                            string response = Common.ValidateFileUpload(file);

                            if (response.Equals("true"))
                            {
                                if (file != null)
                                {
                                    var fileName = user.EmployeeId + Path.GetExtension(file.FileName);

                                    var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Upload/UserProfile/"), fileName);
                                    file.SaveAs(path);

                                    user.PhotoProfile = fileName;
                                }
                            }
                        }
                    }

                    var userModel = _userBService.GetByEmployeeId(user.EmployeeId);
                    if (userModel != null && userModel.UserId != 0)
                    {
                        var userModelEdit = _userBService.GetDetail(userModel.UserId);
                        userModelEdit.CreatedAt        = DateTime.Now;
                        userModelEdit.UpdatedAt        = DateTime.Now;
                        userModelEdit.Status           = 2;
                        userModelEdit.Phone            = user.Phone;
                        userModelEdit.MobileToken      = token;
                        userModelEdit.Approval1        = employeeM.Superior_ID;
                        userModelEdit.AreaName         = user.MasterAreaId != 0 ? _masterAreaBs.GetDetail(user.MasterAreaId).Name : null;
                        userModelEdit.BranchName       = user.MasterBranchId != 0 ? _masterBranchBs.GetDetail(user.MasterBranchId).Name : null;
                        userModelEdit.MasterAreaId     = user.MasterAreaId != 0 ? _masterAreaBs.GetDetail(user.MasterAreaId).MasterAreaId : 0;
                        userModelEdit.MasterBranchId   = user.MasterBranchId != 0 ? _masterBranchBs.GetDetail(user.MasterBranchId).MasterBranchId : 0;
                        userModelEdit.RoleId           = user.RoleId;
                        userModelEdit.DueDateApproval1 = user.DueDateApproval1;
                        userModelEdit.RoleDescription  = user.RoleDescription;
                        userModelEdit.TechnicalJobExperienceDuration = user.TechnicalJobExperienceDuration;
                        userModelEdit.TechnicalJobTitle = user.TechnicalJobTitle;
                        _userBService.Edit(userModelEdit);
                    }
                    else
                    {
                        _userBService.Add(user);
                    }
                    Email.SendMailRegister(user);

                    //send email to approval 1 Superior_ID
                    Email.SendMailNeedApp1(user);
                    return(RedirectToAction("Index", "User"));
                }
            }

            return(RedirectToAction("Create", "User"));
        }
Beispiel #13
0
        public ActionResult Create(Article artikelObject, FormCollection collection)
        {
            if (Common.CheckAdmin())
            {
                return(RedirectToAction("Login", "Default"));
            }

            var artikelModel = ParsingCreate(artikelObject);

            artikelModel.Status = collection["type"].Contains("draft") ? 2 : 1;

            String token = Common.AccessToken() + DateTime.Now.ToString("ddMMyyyy");

            token = token.Replace("/", "");
            token = token.Replace("+", "");
            artikelModel.Token = token;
            artikelModel       = _articleService.Add(artikelModel);

            // Check if user put some tags
            if (collection.AllKeys.Contains("tag-input[]"))
            {
                //insert articleTags
                string tags = collection["tag-input[]"];
                InsertArticleTags(tags, artikelModel.ArticleId);
            }

            //upload
            if (Request.Files.Count > 0)
            {
                for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                {
                    if (Request.Files.GetKey(i) == "header")
                    {
                        var    file     = Request.Files.Get(i);
                        string response = Common.ValidateFileUpload(file);

                        if (response.Equals("true"))
                        {
                            if (file != null)
                            {
                                var fileName = artikelModel.ArticleId + Path.GetExtension(file.FileName);

                                var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Upload/Article/Header/"), fileName);

                                file.SaveAs(path);

                                artikelModel.HeaderImage = fileName;
                            }

                            _articleService.Edit(artikelModel);
                        }
                    }
                }

                if (Request.Files.AllKeys.Contains("attachment[]"))
                {
                    ArticleFile artikelFile     = Factory.Create <ArticleFile>("ArticleFile", ClassType.clsTypeDataModel);
                    int         attachmentIndex = 1;
                    string[]    fileLevel       = collection["file_level[]"].Split(',');
                    for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                    {
                        if (Request.Files.GetKey(i) == "attachment[]")
                        {
                            var    file       = Request.Files[i];
                            string response   = Common.ValidateFileUpload(file);
                            string dateString = DateTime.Now.ToString("yyyyMMddHmmss");
                            if (response.Equals("true"))
                            {
                                artikelFile.ArticleId = artikelModel.ArticleId;
                                artikelFile.Name      = Common.UploadFileArticle(file, Path.GetFileNameWithoutExtension(file.FileName) + "-" + dateString + "-" + attachmentIndex);
                                artikelFile.LevelUser = fileLevel[i - 1];
                                artikelFile.CreatedAt = DateTime.Now;

                                _articleFileBs.Add(artikelFile);
                                attachmentIndex += 1;
                            }
                        }
                    }
                }
            }
            if (collection["type"].Contains("draft"))
            {
                return(RedirectToAction("Draft"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Beispiel #14
0
        // POST: api/MobileLogin
        public IHttpActionResult Post(MobileLogin plainTextLoginData)
        {
            if (!Common.GetAuthorization(Request))
            {
                return(Ok(new { Code = 401, Message = "Unauthorization" }));
            }
            using (TsicsContext db = new TsicsContext())
            {
                db.Database.ExecuteSqlCommand("delete from UserDevices where PlayerId = '' or PlayerId = null");
            }
            //Check User Login
            UserBusinessService userBs = Factory.Create <UserBusinessService>("User", ClassType.clsTypeBusinessService);

            MobileLogin loginData = new MobileLogin
            {
                Xupj = plainTextLoginData.Xupj, Password = Common.Base64Encode(plainTextLoginData.Password)
            };
            User userM = userBs.CheckLoginMobile(loginData);

            if (userM != null)
            {
                var usrd = new UserDevices {
                    UserId = userM.UserId, PlayerId = plainTextLoginData.PlayerId
                };
                userM.MobileToken = Common.AccessToken() + userM.UserId;
                userM.PlayerId    = plainTextLoginData.PlayerId;
                userBs.Edit(userM);

                if (usrd.PlayerId != null)
                {
                    userBs.InsertData(usrd);
                }
                if (!string.IsNullOrWhiteSpace(userM.PhotoProfile))
                {
                    userM.PhotoProfile = WebConfigure.GetDomain() + "/Upload/UserProfile/" + userM.PhotoProfile;
                }
                else
                {
                    userM.PhotoProfile = WebConfigure.GetDomain() + "/assets/images/repository/avatar-default.jpg";
                }

                UserAPI userData = new UserAPI()
                {
                    UserId          = userM.UserId,
                    Name            = userM.Name,
                    EmployeeId      = userM.EmployeeId,
                    AreaName        = string.IsNullOrWhiteSpace(userM.AreaName) ? "HEAD OFFICE" : userM.AreaName,
                    BranchName      = string.IsNullOrWhiteSpace(userM.BranchName) ? "" : userM.BranchName,
                    CreatedAt       = userM.CreatedAt,
                    AreaCode        = userM.AreaCode,
                    BranchCode      = userM.BranchCode,
                    MasterAreaId    = userM.MasterAreaId,
                    MasterBranchId  = userM.MasterBranchId,
                    Email           = userM.Email,
                    RoleId          = userM.RoleId,
                    RoleDescription = userM.RoleDescription,
                    RoleName        = userM.RoleId == 0 || _UserRoleBusinessService.GetDetail(userM.RoleId) == null ? "GUEST" : _UserRoleBusinessService.GetDetail(userM.RoleId).Name,
                    Dob             = userM.Dob,
                    IsDelegate      = userM.IsDelegate,
                    MobileToken     = userM.MobileToken,
                    PhotoProfile    = userM.PhotoProfile,
                    POH_Name        = userM.POH_Name,
                    Status          = userM.Status,
                    MobilePassword  = userM.MobilePassword,
                    Position        = userM.Position,
                    Phone           = userM.Phone,
                    PlayerId        = userM.PlayerId,
                    Username        = userM.Username,
                    TechnicalJobExperienceDuration = userM.TechnicalJobExperienceDuration,
                    TechnicalJobTitle = userM.TechnicalJobTitle,
                };
                Delegation userD = userBs.GetDetailDelegationByUserFrom(userM.UserId);
                if (userD != null)
                {
                    DelegationAPI delegationAPI = new DelegationAPI()
                    {
                        DelegateId = userD.DelegateId,
                        StartDate  = userD.StartDate.Value.ToString("dddd, dd MMMM yyyy"),
                        EndDate    = userD.EndDate.Value.ToString("dddd, dd MMMM yyyy"),
                        ToUser     = userBs.GetDetail(userD.ToUser),
                        Status     = userD.Status,
                        CreatedAt  = userD.CreatedAt.Value.ToString("dddd, dd MMMM yyyy")
                    };
                    return(Ok(new { Code = 200, Authorization = "true", Data = userData, delegation = delegationAPI }));
                }
                else
                {
                    DelegationAPI delegationAPI = new DelegationAPI()
                    {
                        DelegateId = 0,
                        StartDate  = null,
                        EndDate    = null,
                        FromUser   = null,
                        ToUser     = null,
                        Status     = 0,
                        CreatedAt  = null
                    };
                    return(Ok(new { Code = 200, Authorization = "true", Data = userData, delegation = delegationAPI }));
                }
            }
            else
            {
                return(Ok(new { Code = 401, Authorization = "false", Message = "Gagal Login" }));
            }
        }
        public ActionResult Create(Article articleObject, FormCollection collection)
        {
            ViewBag.UseFullLink = _articleBs.getUseFullLink().Count > 0 ? _articleBs.getUseFullLink() : null;
            if (WebConfigure.GetLoginPortal() == "true" && Common.GetUserXupj() != "" && Session["userid"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            if (Session["username"] != null)
            {
                if (WebConfigure.GetLoginPortal() == "true" && Common.GetUserXupj().ToLower() != Session["username"].ToString().ToLower())
                {
                    return(RedirectToAction("Login", "Account"));
                }
            }
            if (!Common.CheckUserYellow())
            {
                return(RedirectToAction("Login", "Account"));
            }

            articleObject.Position = 0;
            if (articleObject.Category1Id != 0)
            {
                articleObject.Category1 = _articleCategoryBs.GetDetail(articleObject.Category1Id).Name ?? "-";
            }
            if (articleObject.Category2Id != 0)
            {
                articleObject.Category2 = _articleCategoryBs.GetDetail(articleObject.Category2Id).Name ?? "-";
            }
            if (articleObject.Category3Id != 0)
            {
                articleObject.Category3 = _articleCategoryBs.GetDetail(articleObject.Category3Id).Name ?? "-";
            }
            if (articleObject.Category4Id != 0)
            {
                articleObject.Category4 = _articleCategoryBs.GetDetail(articleObject.Category4Id).Name ?? "-";
            }
            if (articleObject.Category5Id != 0)
            {
                articleObject.Category5 = _articleCategoryBs.GetDetail(articleObject.Category5Id).Name ?? "-";
            }
            if (articleObject.Category6Id != 0)
            {
                articleObject.Category6 = _articleCategoryBs.GetDetail(articleObject.Category6Id).Name ?? "-";
            }
            if (articleObject.Category7Id != 0)
            {
                articleObject.Category7 = _articleCategoryBs.GetDetail(articleObject.Category7Id).Name ?? "-";
            }

            articleObject.CreatedAt = DateTime.Now;
            if (collection["type"] == "draft")
            {
                articleObject.Status = 2;
            }
            else
            {
                articleObject.Status = 0;
            }
            articleObject.CreatedBy = Convert.ToInt32(Session["userid"]);

            String token = Common.AccessToken() + DateTime.Now.ToString("ddMMyyyy");

            token = token.Replace("/", "");
            token = token.Replace("+", "");
            articleObject.Token = token;
            var articleModel = _articleBs.Add(articleObject);

            if (Request.Files.Count > 0)
            {
                //ArticleFile articleFile = Factory.Create<ArticleFile>("ArticleFile", ClassType.clsTypeDataModel);

                //for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                //{
                //    var file = Request.Files[i];
                //    string response = Common.ValidateFileUpload(file);

                //    if (response.Equals("true"))
                //    {
                //        articleFile.ArticleId = articleModel.ArticleId;
                //        articleFile.Name = Common.UploadFileArticle(file, articleModel.ArticleId + "-" + i.ToString());
                //        articleFile.CreatedAt = DateTime.Now;

                //        _articleFileBs.Add(articleFile);
                //    }
                //}
                for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                {
                    if (Request.Files.GetKey(i) == "header")
                    {
                        var    file     = Request.Files.Get(i);
                        string response = Common.ValidateFileUpload(file);

                        if (response.Equals("true"))
                        {
                            if (file != null)
                            {
                                var fileName = articleModel.ArticleId + Path.GetExtension(file.FileName);

                                var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Upload/Article/Header/"), fileName);

                                file.SaveAs(path);

                                articleModel.HeaderImage = fileName;
                            }

                            _articleBs.Edit(articleModel);
                        }
                    }
                }
                if (Request.Files.AllKeys.Contains("attachment[]"))
                {
                    ArticleFile artikelFile     = Factory.Create <ArticleFile>("ArticleFile", ClassType.clsTypeDataModel);
                    int         attachmentIndex = 1;
                    string[]    fileLevel       = collection["file_level[]"].Split(',');
                    for (int i = 0, iLen = Request.Files.Count; i < iLen; i++)
                    {
                        if (Request.Files.GetKey(i) == "attachment[]")
                        {
                            var    file       = Request.Files[i];
                            string response   = Common.ValidateFileUpload(file);
                            string dateString = DateTime.Now.ToString("yyyyMMddHmmss");
                            if (response.Equals("true"))
                            {
                                artikelFile.ArticleId = articleModel.ArticleId;
                                artikelFile.Name      = Common.UploadFileArticle(file, Path.GetFileNameWithoutExtension(file.FileName) + "-" + dateString + "-" + attachmentIndex);
                                artikelFile.LevelUser = fileLevel[i - 1];
                                artikelFile.CreatedAt = DateTime.Now;

                                _articleFileBs.Add(artikelFile);
                                attachmentIndex += 1;
                            }
                        }
                    }
                }
            }
            if (collection["type"] == "draft")
            {
                return(RedirectToAction("Draft", "Library"));
            }
            else
            {
                Email.SendMailPublishArticle(articleModel);
                Email.SendMailNeedApp1Article(articleModel);
                return(RedirectToAction("List", "Library"));
            }
        }
#pragma warning disable 1998
        public async Task <ActionResult> Register(User model)
#pragma warning restore 1998
        {
            SetListDropdown();
            ModelState.Remove("TechnicalJobExperienceDuration");
            ModelState.Remove("TechnicalJobTitle");
            ModelState.Remove("RoleDescription");
            ModelState.Remove("Phone");
            ModelState.Remove("MasterAreaId");
            ModelState.Remove("MasterBranchId");
            if (ModelState.IsValid)
            {
                #region cek EmployeeID
                if (RegisterValidate(model))
                {
                    if (_userBService.CheckUserReject(model.EmployeeId))
                    {
                        return(RedirectToAction("Index", "Library"));
                    }
                    //insert User
                    string token = Common.AccessToken() + model.EmployeeId;

                    var employeeM = _mstEmployeeBService.GetDetail(model.EmployeeId);

                    model           = this.ParsingUser(model);
                    model.CreatedAt = DateTime.Now;

                    model.Status = 2;
                    token        = token.Replace("/", "");
                    token        = token.Replace("+", "");

                    model.MobileToken = token;
                    model.Approval1   = employeeM.Superior_ID;

                    if (model.MasterAreaId == 0)
                    {
                        model.AreaName     = null;
                        model.MasterAreaId = 0;
                    }
                    else
                    {
                        model.MasterAreaId = _masterAreaBs.GetDetail(model.MasterAreaId).MasterAreaId;
                        model.AreaName     = _masterAreaBs.GetDetail(model.MasterAreaId).Name;
                    }
                    if (model.MasterBranchId == 0)
                    {
                        model.BranchName     = null;
                        model.MasterBranchId = 0;
                    }
                    else
                    {
                        model.MasterBranchId = _masterBranchBs.GetDetail(model.MasterBranchId).MasterBranchId;
                        model.BranchName     = _masterBranchBs.GetDetail(model.MasterBranchId).Name;
                    }

                    var addDay = Common.NumberOfWorkDays(DateTime.Now, WebConfigure.GetApprovalSpvDay());
                    model.DueDateApproval1 = DateTime.Now.AddDays(addDay);
                    model.POH_Name         = employeeM.POH_Name;

                    var userModel = _userBService.GetByEmployeeId(model.EmployeeId);
                    if (userModel != null)
                    {
                        if (userModel.UserId != 0)
                        {
                            //UserModel = model;
                            var userModelEdit = _userBService.GetDetail(userModel.UserId);
                            //UserModelEdit = this.ParsingUser(model);
                            userModelEdit.CreatedAt        = DateTime.Now;
                            userModelEdit.UpdatedAt        = DateTime.Now;
                            userModelEdit.Status           = 2;
                            userModelEdit.Phone            = model.Phone;
                            userModelEdit.MobileToken      = token;
                            userModelEdit.Approval1        = employeeM.Superior_ID;
                            userModelEdit.AreaName         = model.MasterAreaId != 0 ? _masterAreaBs.GetDetail(model.MasterAreaId).Name : null;
                            userModelEdit.BranchName       = model.MasterBranchId != 0 ? _masterBranchBs.GetDetail(model.MasterBranchId).Name : null;
                            userModelEdit.MasterAreaId     = model.MasterAreaId != 0 ? _masterAreaBs.GetDetail(model.MasterAreaId).MasterAreaId : 0;
                            userModelEdit.MasterBranchId   = model.MasterBranchId != 0 ? _masterBranchBs.GetDetail(model.MasterBranchId).MasterBranchId : 0;
                            userModelEdit.RoleId           = model.RoleId;
                            userModelEdit.DueDateApproval1 = model.DueDateApproval1;
                            userModelEdit.RoleDescription  = model.RoleDescription;
                            userModelEdit.TechnicalJobExperienceDuration = model.TechnicalJobExperienceDuration;
                            userModelEdit.TechnicalJobTitle = model.TechnicalJobTitle;
                            userModelEdit.Email             = _mstEmployeeBService.GetDetail(model.EmployeeId).Email;
                            model = _userBService.Edit(userModelEdit);
                        }
                    }
                    else
                    {
                        model = _userBService.Add(model);
                    }

                    Email.SendMailRegister(model);

                    //send email to approval 1 Superior_ID
                    Email.SendMailNeedApp1(model);

                    return(RedirectToAction("Login", "Account"));
                }
            }
            #endregion
            // If we got this far, something failed, redisplay form
            return(View(model));
        }