public ActionResult CreateConfirm([Bind(Include = "id,U_Id_Approval,U_Id_Dept_MNG,U_Id_LCA_Leader,U_Id_LCA_MNG,U_Id_Comtor,U_Id_FM,U_Id_GD,customer_Id,quantity,dealLine,title,increaseProductivity,newModel,increaseProduction,improve,C_5s,checkJig,reducePeple,errorContent,currentError,afterError,cost_Savings,other,pay,model,pcb,contentDetail,cost,date_Create,date_Update,date_Received,date_Finish,file_upload,file_upload_update,costDetail_upload")] tbl_Request tbl_Request)
        {
            sess = Session["user"] as tbl_User;
            string groupName = db.tbl_User.Find(sess.id).tbl_Group.group_Name;

            // Tìm người phiên dịch
            //var comtor = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains(groupName) && r.tbl_Permission.permission_Id.Equals(3)).FirstOrDefault();
            tbl_Request.U_Id_LCA_MNG = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("MNG-LCA") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;
            //if (comtor != null)
            //{
            //    tbl_Request.U_Id_Comtor = comtor.id;
            //}
            tbl_Request.U_Id_FM = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("FM") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;
            tbl_Request.U_Id_GD = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("GD") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;

            var deptMngId = db.tbl_User.Where(r => r.tbl_Group.group_Name.Equals(groupName) && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;

            if (ModelState.IsValid)
            {
                db.Entry(tbl_Request).State = EntityState.Modified;
                tbl_Request.U_Id_Dept_MNG   = tbl_Request.U_Id_Approval = deptMngId;
                tbl_Request.U_Id_Create     = tbl_Request.U_Id_Send = sess.id;
                tbl_Request.date_Create     = DateTime.Now;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Equals("Support")), "group_Id", "group_Name");
            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
            return(View(tbl_Request));
        }
示例#2
0
        /// <summary>
        /// Handles the OnClick event of the lbtnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void lbtnSave_OnClick(object sender, EventArgs e)
        {
            var accessCheck = Access.Check(TblUser, "Requests");

            if (!accessCheck.Write)
            {
                Response.Redirect(UrlsData.LFP_AccessDenied(PortalSettingsId));
            }

            var requestSourceType = DataManager.RequestSourceType.SelectBySourceCategoryId(SiteId, RequestSourceCategory.Request);

            if (requestSourceType == null)
            {
                ucNotificationMessage.Text = "Запрос не зарегистрирован. В справочнике отсутствует тип запроса с категорией \"Обращение\"";
                return;
            }

            var request = new tbl_Request
            {
                SiteID              = SiteId,
                CreatedAt           = DateTime.Now,
                ServiceLevelID      = ServiceLevel.ID,
                ContactID           = Contact.ID,
                CompanyID           = Contact.CompanyID,
                RequestStatusID     = (int)RequestStatus.New,
                RequestSourceTypeID = requestSourceType.ID,
                ShortDescription    = txtShortDescription.Text,
                LongDescription     = ucLongDescription.Content,
                ReactionDateActual  = null,
            };

            request.ReactionDatePlanned = request.CreatedAt.AddHours(ServiceLevel.ReactionTime);


            var documentNumerator = DocumentNumerator.GetNumber((Guid)requestSourceType.NumeratorID,
                                                                request.CreatedAt,
                                                                requestSourceType.tbl_Numerator.Mask, "tbl_Request");

            request.Number       = documentNumerator.Number;
            request.SerialNumber = documentNumerator.SerialNumber;


            DataManager.Request.Add(request);

            if (rauRequestFiles.UploadedFiles.Count > 0)
            {
                var fsp = new FileSystemProvider();
                foreach (UploadedFile file in rauRequestFiles.UploadedFiles)
                {
                    var fileName = fsp.Upload(SiteId, "Requests", file.FileName, file.InputStream, FileType.Attachment);
                    DataManager.RequestFile.Add(new tbl_RequestFile()
                    {
                        RequestID = request.ID, FileName = fileName
                    });
                }
            }

            Response.Redirect(UrlsData.LFP_Requests(PortalSettingsId));
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            db.tbl_Request.Remove(tbl_Request);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// Proceeds the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        public static void Process(tbl_Request request)
        {
            if (!request.ContactID.HasValue)
            {
                return;
            }

            AddSiteAction(request, SiteActionTemplates.RequestProcessedNotification);
        }
        /// <summary>
        /// Registers the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        public static void Register(tbl_Request request)
        {
            if (!request.ContactID.HasValue)
            {
                return;
            }

            AddSiteAction(request, SiteActionTemplates.RequestRegistrationNotification);

            NewRequest(request);
        }
 public ActionResult Edit([Bind(Include = "id,U_Id_Create,U_Id_Approval,U_Id_Send,U_Id_Dept_MNG,U_Id_LCA_Leader,U_Id_LCA_MNG,U_Id_FM,U_Id_GD,customer_Id,quantity,dealLine,title,increaseProductivity,newModel,increaseProduction,improve,C_5s,checkJig,reducePeple,errorContent,currentError,afterError,cost_Savings,other,pay,model,pcb,contentDetail,cost,date_Create,date_Update,date_Received,date_Finish,file_upload,file_update_1,file_update_2,file_update_3,file_update_4,file_update_5,costDetail_upload")] tbl_Request tbl_Request)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tbl_Request).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
     ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
     return(View(tbl_Request));
 }
示例#7
0
        /// <summary>
        /// Adds the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public tbl_Request Add(tbl_Request request)
        {
            request.ID = Guid.NewGuid();
            _dataContext.tbl_Request.AddObject(request);
            _dataContext.SaveChanges();

            RequestNotificationService.Register(request);

            AddHistory(new DataManager(), request);

            return(request);
        }
示例#8
0
        // GET: Business/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            return(View(tbl_Request));
        }
示例#9
0
        public ActionResult RequestDeleteConfirm(int?id)
        {
            userSession = Session["user"] as tbl_User;
            if (!userSession.tbl_Permission.permission_Id.Equals(1))
            {
                return(HttpNotFound());
            }

            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            db.tbl_Request.Remove(tbl_Request);
            db.SaveChanges();
            return(RedirectToAction("ListRequest"));
        }
        // GET: Request/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            var userCreate = db.tbl_User.Find(tbl_Request.U_Id_Create);

            var deptMGN = db.tbl_User.Find(tbl_Request.U_Id_Dept_MNG);

            ViewBag.requestorName  = userCreate.fullname;
            ViewBag.requestorPhone = userCreate.phone;
            ViewBag.deptMGNName    = deptMGN.fullname;
            ViewBag.deptMNGPhone   = deptMGN.phone;
            ViewBag.deptMGNStamp   = deptMGN.stamp;
            var lcaLeader = db.tbl_User.Find(tbl_Request.U_Id_LCA_Leader);

            ViewBag.lcaLeaderStamp = lcaLeader.stamp;
            ViewBag.lcaLeaderName  = lcaLeader.fullname;
            ViewBag.lcaLeaderPhone = lcaLeader.phone;


            var lcaMNG = db.tbl_User.Find(tbl_Request.U_Id_LCA_MNG);

            ViewBag.lcaMNGName  = lcaMNG.fullname;
            ViewBag.lcaMNGPhone = lcaMNG.phone;
            ViewBag.lcaMNGStamp = lcaMNG.stamp;

            var fm = db.tbl_User.Find(tbl_Request.U_Id_FM);

            ViewBag.fmName  = fm.fullname;
            ViewBag.fmPhone = fm.phone;
            ViewBag.fmStamp = fm.stamp;

            var gd = db.tbl_User.Find(tbl_Request.U_Id_GD);

            ViewBag.gdName  = gd.fullname;
            ViewBag.gdPhone = gd.phone;
            ViewBag.gdStamp = gd.stamp;

            ViewBag.approved = tbl_Request.U_Id_Approval == 1 ? true : false;
            return(View(tbl_Request));
        }
示例#11
0
        /// <summary>
        /// Adds the specified site id.
        /// </summary>
        /// <param name="siteId">The site id.</param>
        /// <param name="requestSourceId">The request source id.</param>
        /// <param name="requestSourceTypeId">The request source type id.</param>
        /// <param name="shortDescription">The short description.</param>
        /// <param name="longDescription">The long description.</param>
        /// <param name="authorId">The author id.</param>
        /// <param name="ownerId">The owner id.</param>
        /// <returns></returns>
        public tbl_Request Add(Guid siteId, Guid requestSourceId, Guid?requestSourceTypeId, string shortDescription, string longDescription, Guid authorId, Guid?ownerId)
        {
            if (!requestSourceTypeId.HasValue)
            {
                return(null);
            }

            var dataManager = new DataManager();

            var contact = dataManager.Contact.SelectById(siteId, authorId);

            var serviceLevel = dataManager.ServiceLevel.SelectForContact(siteId, contact);

            if (serviceLevel == null)
            {
                return(null);
            }

            var request = new tbl_Request
            {
                SiteID              = siteId,
                CreatedAt           = DateTime.Now,
                ServiceLevelID      = serviceLevel.ID,
                ContactID           = contact.ID,
                CompanyID           = contact.CompanyID,
                RequestSourceTypeID = requestSourceTypeId,
                RequestSourceID     = requestSourceId,
                RequestStatusID     = (int)RequestStatus.New,
                ShortDescription    = shortDescription,
                LongDescription     = longDescription,
                ReactionDateActual  = null,
                OwnerID             = ownerId
            };

            request.ReactionDatePlanned = request.CreatedAt.AddHours(serviceLevel.ReactionTime);

            var requestSourceType = dataManager.RequestSourceType.SelectById(siteId, (Guid)requestSourceTypeId);

            if (requestSourceType != null)
            {
                var documentNumerator = DocumentNumerator.GetNumber((Guid)requestSourceType.NumeratorID,
                                                                    request.CreatedAt,
                                                                    requestSourceType.tbl_Numerator.Mask, "tbl_Request");
                request.Number       = documentNumerator.Number;
                request.SerialNumber = documentNumerator.SerialNumber;
            }

            return(Add(request));
        }
示例#12
0
        // GET: Business/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            ViewBag.group_Id = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support") && r.group_Name.Contains("LCA")), "group_Id", "group_Name");
            return(View(tbl_Request));
        }
示例#13
0
        /// <summary>
        /// Replaces the text.
        /// </summary>
        /// <param name="text">The text.</param>
        /// <param name="request">The request.</param>
        /// <param name="serviceLevel">The service level.</param>
        /// <param name="responsible">The responsible.</param>
        /// <param name="contact">The contact.</param>
        /// <param name="company">The company.</param>
        /// <returns></returns>
        protected string ReplaceText(string text, tbl_Request request, tbl_ServiceLevel serviceLevel, tbl_Contact responsible, tbl_Contact contact, tbl_Company company)
        {
            var shortDescription = request.ShortDescription;

            if (PortalSettings != null)
            {
                var requestLink = string.Format(RequestLinkTemplate, request.ID);
                shortDescription = string.Format("<a href='{0}'>{1}</a>", requestLink, shortDescription);
            }
            return(text.Replace("#Request.ShortDescription#", shortDescription)
                   .Replace("#Request.CreatedAt#", request.CreatedAt.ToString("dd.MM.yyyy"))
                   .Replace("#Request.ReactionTime#", serviceLevel.ReactionTime.ToString())
                   .Replace("#Request.Responsible.UserFullName#", responsible != null ? responsible.UserFullName : string.Empty)
                   .Replace("#Request.ReactionDatePlanned#", request.ReactionDatePlanned.HasValue ? ((DateTime)request.ReactionDatePlanned).ToString("dd.MM.yyyy") : string.Empty)
                   .Replace("#Request.Contact.UserFullName#", contact != null ? contact.UserFullName : string.Empty)
                   .Replace("#Request.Company.Name#", company != null ? company.Name : string.Empty));
        }
        public ActionResult CreateConfirm(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name");
            ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username");
            ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support") && r.group_Name.Contains("LCA") && !r.group_Name.Contains("MNG")), "group_Id", "group_Name");
            return(View(tbl_Request));
        }
示例#15
0
        /// <summary>
        /// Updates the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        public void Update(tbl_Request request)
        {
            var dataManager       = new DataManager();
            var requestInDataBase = dataManager.Request.SelectById(request.SiteID, request.ID);

            _dataContext.SaveChanges();

            if (requestInDataBase.RequestStatusID == (int)RequestStatus.New && requestInDataBase.RequestStatusID != request.RequestStatusID)
            {
                RequestNotificationService.Process(request);
            }

            if (requestInDataBase.RequestStatusID != request.RequestStatusID || requestInDataBase.ResponsibleID != request.ResponsibleID)
            {
                AddHistory(dataManager, request);
            }
        }
示例#16
0
        /// <summary>
        /// Adds the history.
        /// </summary>
        /// <param name="dataManager">The data manager.</param>
        /// <param name="request">The request.</param>
        protected void AddHistory(DataManager dataManager, tbl_Request request)
        {
            if (HttpContext.Current == null || HttpContext.Current.Session == null || CurrentUser.Instance == null)
            {
                return;
            }

            var requestHistory = new tbl_RequestHistory
            {
                RequestID       = request.ID,
                RequestStatusID = request.RequestStatusID,
                ContactID       = (Guid)CurrentUser.Instance.ContactID,
                ResponsibleID   = request.ResponsibleID
            };

            dataManager.RequestHistory.Add(requestHistory);
        }
示例#17
0
        public ActionResult RequestDelete(int?id)
        {
            userSession = Session["user"] as tbl_User;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

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

            if (!userSession.tbl_Permission.permission_Id.Equals(1))
            {
                return(HttpNotFound());
            }
            return(View(tbl_Request));
        }
示例#18
0
        public ActionResult RequestDetails(int?id)
        {
            userSession = Session["user"] as tbl_User;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            if (!userSession.tbl_Permission.permission_Id.Equals(1))
            {
                return(HttpNotFound());
            }
            ViewBag.group_Id = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support") && r.group_Name.Contains("LCA")), "group_Id", "group_Name");
            return(View(tbl_Request));
        }
        public ActionResult Create([Bind(Include = "U_Id_Approval,U_Id_Dept_MNG,U_Id_LCA_Leader,U_Id_LCA_MNG,U_Id_Comtor,U_Id_FM,U_Id_GD,customer_Id,quantity,dealLine,title,increaseProductivity,newModel,increaseProduction,improve,C_5s,checkJig,reducePeple,errorContent,currentError,afterError,cost_Savings,other,pay,model,pcb,contentDetail,cost,date_Create,date_Update,date_Received,date_Finish,file_upload,file_upload_update,costDetail_upload")] tbl_Request tbl_Request)
        {
            sess = Session["user"] as tbl_User;

            if (tbl_Request.increaseProductivity == false && tbl_Request.newModel == false && tbl_Request.increaseProduction == false && tbl_Request.improve == false && tbl_Request.C_5s == false && tbl_Request.checkJig == false)
            {
                ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Equals("Support")), "group_Id", "group_Name");
                ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
                ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
                ViewBag.U_Id_Comtor = new SelectList(db.tbl_User.Where(r => r.tbl_Group.group_Name.Equals("Comtor") && r.tbl_Permission.permission_Id.Equals(2)), "id", "fullname", tbl_Request.U_Id_Comtor);
                ViewBag.error       = "Chưa chọn phân loại Jig";
                return(View(tbl_Request));
            }
            string groupName = db.tbl_User.Find(sess.id).tbl_Group.group_Name;

            tbl_Request.U_Id_LCA_MNG = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("MNG-LCA") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;
            //if (comtor != null)
            //{
            //    tbl_Request.U_Id_Comtor = comtor.id;
            //}
            tbl_Request.U_Id_FM = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("FM") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;
            tbl_Request.U_Id_GD = db.tbl_User.Where(r => r.tbl_Group.group_Name.Contains("GD") && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;

            var deptMngId = db.tbl_User.Where(r => r.tbl_Group.group_Name.Equals(groupName) && r.tbl_Permission.permission_Id.Equals(2)).FirstOrDefault().id;

            if (ModelState.IsValid)
            {
                tbl_Request.U_Id_Dept_MNG = tbl_Request.U_Id_Approval = deptMngId;
                tbl_Request.U_Id_Create   = tbl_Request.U_Id_Send = sess.id;
                tbl_Request.date_Create   = DateTime.Now;
                db.tbl_Request.Add(tbl_Request);
                db.SaveChanges();
                Common.SendMail("*****@*****.**", sess.fullname, false);
                Common.SendMail("*****@*****.**", sess.fullname, true);
                return(RedirectToAction("Index"));
            }
            ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Equals("Support")), "group_Id", "group_Name");
            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
            return(View(tbl_Request));
        }
示例#20
0
        /// <summary>
        /// Saves the comment.
        /// </summary>
        /// <param name="request">The request.</param>
        public void SaveComment(tbl_Request request)
        {
            if (SelectedRequirementId.HasValue && !string.IsNullOrEmpty(Comment) && request.ContactID.HasValue)
            {
                var user = DataManager.User.SelectByContactIdExtended(CurrentUser.Instance.SiteID, (Guid)request.ContactID) ??
                           DataManager.User.AddPortalUser(CurrentUser.Instance.SiteID, (Guid)request.ContactID);
                if (user != null)
                {
                    var requirement = DataManager.Requirement.SelectById(CurrentUser.Instance.SiteID, (Guid)SelectedRequirementId);
                    if (!request.tbl_Requirement.Any(o => o.ID == requirement.ID))
                    {
                        request.tbl_Requirement.Add(requirement);
                        DataManager.Request.Update(request);
                    }

                    ContentCommentRepository.Add(CurrentUser.Instance.SiteID, user.ID, (Guid)SelectedRequirementId,
                                                 Comment, null, null, string.Empty,
                                                 CommentTables.tbl_RequirementComment);
                }
            }
        }
        // GET: Request/Edit/5
        public ActionResult Edit(int?id)
        {
            sess = Session["user"] as tbl_User;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
            if (sess.id == tbl_Request.U_Id_Create)
            {
                return(View(tbl_Request));
            }
            return(View("Index"));
        }
        /// <summary>
        /// Adds the site action.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="systemSiteActionTemplate">The system site action template.</param>
        protected static void AddSiteAction(tbl_Request request, tbl_SiteActionTemplate systemSiteActionTemplate)
        {
            var dataManager = new DataManager();

            var siteActionTemplate = dataManager.SiteActionTemplate.SelectSystemSiteActionTemplate(request.SiteID, systemSiteActionTemplate);

            var siteAction = new tbl_SiteAction
            {
                SiteID = request.SiteID,
                SiteActionTemplateID = siteActionTemplate.ID,
                ContactID            = request.ContactID,
                ActionStatusID       = (int)ActionStatus.Scheduled,
                ActionDate           = DateTime.Now,
                ObjectID             = request.ID,
                MessageTypeID        = (int)MessageType.RequestNotification,
                DirectionID          = (int)Direction.Out,
                MessageTitle         = siteActionTemplate.Title
            };

            dataManager.SiteAction.Add(siteAction);
        }
示例#23
0
        public ActionResult RequestEdit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request tbl_Request = db.tbl_Request.Find(id);

            if (tbl_Request == null)
            {
                return(HttpNotFound());
            }
            if (tbl_Request.U_Id_Create != id)
            {
                return(HttpNotFound());
            }
            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            ViewBag.U_Id_Create = tbl_Request.U_Id_Create;
            ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support")), "group_Id", "group_Name");
            return(View(tbl_Request));
        }
示例#24
0
        public ActionResult Reject(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Request request = db.tbl_Request.Find(id);

            if (request == null)
            {
                return(HttpNotFound());
            }
            if (request.U_Id_Create != id)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            sess = Session["user"] as tbl_User;
            db.Entry(request).State = EntityState.Modified;
            request.U_Id_Approval   = request.U_Id_Send;
            db.SaveChanges();
            return(RedirectToAction("getRequestByUserApproval"));
        }
        /// <summary>
        /// News the request.
        /// </summary>
        /// <param name="request">The request.</param>
        protected static void NewRequest(tbl_Request request)
        {
            var dataManager = new DataManager();

            var siteActionTemplate = dataManager.SiteActionTemplate.SelectSystemSiteActionTemplate(request.SiteID, SiteActionTemplates.RequestNewNotification);

            var client = request.tbl_ServiceLevel.tbl_ServiceLevelClient.FirstOrDefault(o => o.ClientID == request.CompanyID);

            if (client != null)
            {
                var contacts = client.tbl_ServiceLevelContact.Where(o => o.ContactID != request.ContactID).ToList();

                foreach (var serviceLevelContact in contacts)
                {
                    if (!serviceLevelContact.IsInformByRequest)
                    {
                        continue;
                    }

                    var siteAction = new tbl_SiteAction
                    {
                        SiteID = request.SiteID,
                        SiteActionTemplateID = siteActionTemplate.ID,
                        ContactID            = serviceLevelContact.ContactID,
                        ActionStatusID       = (int)ActionStatus.Scheduled,
                        ActionDate           = DateTime.Now,
                        ObjectID             = request.ID,
                        MessageTypeID        = (int)MessageType.RequestNotification,
                        DirectionID          = (int)Direction.Out,
                        MessageTitle         = siteActionTemplate.Title
                    };

                    dataManager.SiteAction.Add(siteAction);
                }
            }
        }
示例#26
0
        public ActionResult RequestForm(tbl_Request tbl_Request, FileHelper FileHelper)
        {
            using (var db = new WebAppDbContext())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        if (!ModelState.IsValid)
                        {
                            var vm = new ConfigViewModel
                            {
                                _tbl_Country  = db.tbl_Country.ToList(),
                                _tbl_Currency = db.tbl_Currency.ToList()
                            };
                            return(View("RequestForm", vm));
                        }

                        if (FileHelper.File != null)
                        {
                            string savaPath = "";
                            string tempPath = "";
                            tempPath = "~/Images/Config";
                            savaPath = Server.MapPath(tempPath);
                            if (!Directory.Exists(savaPath))
                            {
                                Directory.CreateDirectory(savaPath);
                            }

                            var    fileName      = Path.GetFileNameWithoutExtension(FileHelper.File.FileName);
                            var    fileExtension = Path.GetExtension(FileHelper.File.FileName);
                            string image         = @"\" + fileName + DateTime.Now.Ticks + fileExtension;

                            tbl_Request.PICTURE_FILE_NAME = image;
                            tbl_Request.FileExtension     = fileExtension;
                            tbl_Request.File_Path         = savaPath;
                            FileHelper.File.SaveAs(savaPath + image);
                        }
                        // Get Current user Id
                        var userId = System.Web.HttpContext.Current.User.Identity.GetUserId();
                        tbl_Request.CreatedByUser  = userId;
                        tbl_Request.ModifiedByUser = userId;

                        //Get Current Date & Time.
                        tbl_Request.CreatedOnDate  = DateTime.Now;
                        tbl_Request.ModifiedOnDate = DateTime.Now;
                        tbl_Request.Status         = 1;


                        db.tbl_Request.Add(tbl_Request);
                        db.SaveChanges();

                        tbl_RequestLog req = new tbl_RequestLog();
                        req.RequestId       = tbl_Request.RequestId;
                        req.Status          = 1;
                        req.Remarks         = "NA";
                        req.CurrentDateTime = DateTime.Now;
                        req.UserId          = userId;

                        db.tbl_RequestLog.Add(req);
                        db.SaveChanges();


                        transaction.Commit();
                        Alert("Request Submitted Sucessfully!!!", NotificationType.success);
                        return(RedirectToAction("RequestForm"));
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        Exception(ex);
                        Alert("Their is something went wrong!!!", NotificationType.error);
                        return(RedirectToAction("RequestForm"));
                    }
                }
            }
        }
示例#27
0
        public ActionResult Edit([Bind(Include = "id,U_Id_Create,U_Id_Approval,U_Id_Dept_MNG,U_Id_LCA_Leader,U_Id_LCA_MNG,U_Id_Comtor,U_Id_FM,U_Id_GD,date_Dept_MNG_Approval,date_LCA_Leader_Approval,date_LCA_MNG_Approval,date_Requestor_Approval,date_Comtor_Approval,date_Dept_Confirm,date_FM_Approval,date_GD_Approval,customer_Id,quantity,dealLine,title,increaseProductivity,newModel,increaseProduction,improve,C_5s,checkJig,reducePeple,errorContent,currentError,afterError,cost_Savings,other,pay,model,pcb,contentDetail,cost,date_Create,date_Update,date_Received,date_Finish,file_upload,file_update_1,file_update_2,file_update_3,file_update_4,file_update_5,costDetail_upload, comment")] tbl_Request tbl_Request)
        {
            //var temp = db.tbl_Request.Find(tbl_Request.id) as tbl_Request;
            sess = Session["user"] as tbl_User;
            if (sess.id != tbl_Request.U_Id_Approval)
            {
                return(HttpNotFound());
            }
            //if (sess.tbl_Permission.allow.Equals("approval") && sess.tbl_Group.group_Name.Contains("LCA") && !sess.tbl_Group.group_Name.Contains("MNG"))
            //{
            //    if (tbl_Request.date_Finish == null)
            //    {
            //        ModelState.AddModelError("dateFinishNull", "Ngày nhận không để trống");
            //        ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            //        ViewBag.group_Id = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support") && r.group_Name.Contains("LCA")), "group_Id", "group_Name");
            //        return View(tbl_Request);
            //    }
            //    if (tbl_Request.cost == null)
            //    {
            //        ModelState.AddModelError("costNull", "Báo giá không để trống");
            //        ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            //        ViewBag.group_Id = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support") && r.group_Name.Contains("LCA")), "group_Id", "group_Name");
            //        return View(tbl_Request);
            //    }
            //}
            if (Request.Form["submit"] != null)
            {
                if (ModelState.IsValid)
                {
                    db.Entry(tbl_Request).State = EntityState.Modified;
                    sess = Session["user"] as tbl_User;
                    //var userApproval = db.tbl_User.Find(tbl_Request.U_Id_Approval) as tbl_User;
                    //var permission = db.tbl_User.Find(tbl_Request.U_Id_Approval).tbl_Permission.permission_Id;
                    var group = sess.tbl_Group.group_Name;
                    if (sess.tbl_Permission.permission_Id.Equals(2)) // Quyền approval
                    {
                        //var group = userApproval.tbl_Group.group_Name;
                        if (group.Contains("GD")) // GD approval
                        {
                            tbl_Request.date_GD_Approval = DateTime.Now;
                            tbl_Request.U_Id_Approval    = 1;
                        }
                        else if (group.Contains("FM")) // FM Approval
                        {
                            tbl_Request.date_FM_Approval = DateTime.Now;
                            tbl_Request.U_Id_Approval    = tbl_Request.U_Id_GD;
                        }
                        else if (group.Contains("MNG")) //LCA Mgr xác nhận
                        {
                            tbl_Request.date_LCA_MNG_Approval = DateTime.Now;
                            tbl_Request.U_Id_Approval         = tbl_Request.U_Id_Create;
                        }
                        else if (group.Contains("LCA") && !group.Equals("LCA")) // Leader LCA xác nhận
                        {
                            if (tbl_Request.date_Finish == null || tbl_Request.cost == null)
                            {
                                //ViewBag.required = "(*) Bắt buộc phải nhập";
                                ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
                                ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
                                ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support")), "group_Id", "group_Name");
                                return(RedirectToAction("Edit"));
                            }
                            tbl_Request.date_LCA_Leader_Approval = DateTime.Now;
                            tbl_Request.U_Id_Approval            = tbl_Request.U_Id_LCA_MNG;
                        }
                        else if (tbl_Request.date_LCA_MNG_Approval == null) // Trưởng bộ phận xác nhận lần 1
                        {
                            tbl_Request.date_Dept_MNG_Approval = DateTime.Now;

                            tbl_Request.U_Id_Approval = tbl_Request.U_Id_LCA_Leader;
                        }
                        else if (group.Equals("Comtor")) //Comtor Approval
                        {
                            tbl_Request.date_Comtor_Approval = DateTime.Now;
                            tbl_Request.U_Id_Approval        = tbl_Request.U_Id_FM;
                        }
                        else // Trưởng bộ phận xác nhận lần 2
                        {
                            tbl_Request.date_Dept_Confirm = DateTime.Now;
                            if (tbl_Request.cost < 200) //Dưới 200 USD thì đơn được phê duyệt
                            {
                                tbl_Request.U_Id_Approval = 1;
                            }
                            else // >200 USD chuyển cho Comtor
                            {
                                if (tbl_Request.U_Id_Comtor == null) // Nếu không có Comtor
                                {
                                    tbl_Request.U_Id_Approval = tbl_Request.U_Id_FM;
                                    tbl_Request.U_Id_Comtor   = -1;
                                }
                                else // Có Comtor
                                {
                                    tbl_Request.U_Id_Approval = (int)tbl_Request.U_Id_Comtor;
                                }
                            }
                        }
                    }

                    else if (sess.tbl_Permission.permission_Id.Equals(3) && tbl_Request.date_LCA_MNG_Approval != null) //member xác nhận trước khi yêu cầu đến trưởng phòng
                    {
                        tbl_Request.date_Requestor_Approval = DateTime.Now;
                        tbl_Request.U_Id_Approval           = tbl_Request.U_Id_Dept_MNG;
                    }
                    if (tbl_Request.U_Id_Approval == 1) // Finish
                    {
                        ViewBag.approved = true;
                    }
                    tbl_Request.U_Id_Send     = sess.id;
                    tbl_Request.date_Received = DateTime.Now;
                    db.SaveChanges();
                    return(RedirectToAction("getRequestByUserApproval", "Business"));
                }
            }
            else if (Request.Form["reject"] != null)
            {
                db.Entry(tbl_Request).State          = EntityState.Modified;
                tbl_Request.U_Id_Approval            = tbl_Request.U_Id_Create;
                tbl_Request.date_Comtor_Approval     = null;
                tbl_Request.date_Dept_Confirm        = null;
                tbl_Request.date_Dept_MNG_Approval   = null;
                tbl_Request.date_Finish              = null;
                tbl_Request.date_FM_Approval         = null;
                tbl_Request.date_GD_Approval         = null;
                tbl_Request.date_LCA_Leader_Approval = null;
                tbl_Request.date_LCA_MNG_Approval    = null;
                tbl_Request.date_Received            = null;
                tbl_Request.date_Requestor_Approval  = null;
                tbl_Request.date_Update              = null;
                tbl_Request.U_Id_Send = sess.id;
                db.SaveChanges();
                return(RedirectToAction("getRequestByUserApproval", "Business"));
            }

            ViewBag.customer_Id = new SelectList(db.tbl_Customer, "customer_Id", "customer_Name", tbl_Request.customer_Id);
            ViewBag.U_Id_Create = new SelectList(db.tbl_User, "U_Id", "U_username", tbl_Request.U_Id_Create);
            ViewBag.group_Id    = new SelectList(db.tbl_Group.Where(r => !r.group_Name.Contains("Support")), "group_Id", "group_Name");
            return(View(tbl_Request));
        }