public ActionResult GetPreviousRequestByDepartment()
        {
            int departmentId                   = Convert.ToInt32(RouteData.Values["departmentId"]);
            List <RequestDetail> details       = RequestDao.GetLatestRequisitionByDepartment(departmentId);
            List <object>        previousItems = new List <object>();

            if (details != null)
            {
                foreach (var i in details)
                {
                    var obj = new
                    {
                        ItemId      = i.Item.ItemId,
                        Quantity    = i.Quantity,
                        Description = i.Item.Description,
                        UOM         = i.Item.UnitOfMeasure
                    };

                    previousItems.Add(obj);
                }
            }


            return(Json(previousItems, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public ActionResult CheckList(int ma)
        {
            string name  = HttpContext.User.Identity.Name;
            var    model = new RequestDao().load(name).Where(m => m.Id.Equals(ma)).FirstOrDefault();

            return(View(model));
        }
Exemplo n.º 3
0
        /// <summary>Muda o status de uma determinada requisição</sumary>
        private int ChangeStatus(int request_id, char new_status)
        {
            connection = db.GetCon();
            connection.Open();
            NpgsqlTransaction transaction = connection.BeginTransaction();

            RequestDao dao = new RequestDao(connection, null);

            try
            {
                request_id = dao.ChangeStatus(request_id, new_status);
                transaction.Commit();
            }
            catch (Exception e)
            {
                transaction.Rollback();
                throw new Exception(e.ToString());
            }
            finally
            {
                connection.Close();
            }

            return(request_id);
        }
Exemplo n.º 4
0
        public void AddData(string day, int idResorce, string starthour, string finalfinish)
        {
            RequestDao ob = new RequestDao();
            string     Q  = "INSERT INTO UserRegistration VALUES ('" + idResorce + "','" + 1 + "',N'" + day + "',N'" + starthour + "',N'" + finalfinish + "','" + 0 + " ') ";

            ob.saveData(Q);
        }
Exemplo n.º 5
0
        public ActionResult GetMyRequisition(int requestId)
        {
            int    departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            int    userId       = Convert.ToInt32(RouteData.Values["userId"]);
            int    rank         = Convert.ToInt32(RouteData.Values["rank"]);
            string layout       = "";

            if (rank == (int)UserRank.Clerk)
            {
                layout = "_StoreLayout.cshtml";
            }
            else
            {
                layout = "_DeptLayout.cshtml";
            }
            User u = new User()
            {
                UserId     = userId,
                Department = new Department()
                {
                    DepartmentId = departmentId
                },
                Rank = rank
            };
            Request r = RequestDao.GetRequestById(requestId, u);

            ViewData["Request"] = r;
            if (r != null)
            {
                ViewData["LayoutName"] = layout;
                return(View("MyRequest"));
            }
            return(RedirectToAction("myrequisitions"));
        }
Exemplo n.º 6
0
        public ActionResult DetailRequire(int ma)
        {
            RequestModel model = new RequestModel();

            if (ma > 0)
            {
                if (new Commom().CheckPermission(ma))
                {
                    return(Json("Error", JsonRequestBehavior.AllowGet));
                }
                if (!new PermissionAttribute().PermissionAuthorization("Update", "REQUEST"))
                {
                    return(Json(false, JsonRequestBehavior.AllowGet));
                }
                model = new RequestDao().detail(ma);
            }
            else
            {
                if (!new PermissionAttribute().PermissionAuthorization("Create", "REQUEST"))
                {
                    return(Json(false, JsonRequestBehavior.AllowGet));
                }
                var user = new ExportReportDao().GetLevelUser(HttpContext.User.Identity.Name);
                model.FirstId = GetRequestId(user.Ma_BP);
                model.LateId  = model.FirstId.ToString() + "/Y4CKT-" + user.Ma_BP;
                model.Ma_BP   = user.Ma_BP;
            }
            ViewBag.Depart = new SelectList(new DepartmentDao().load(), "Ma_BP", "Ten_BP");
            return(PartialView("_DetailRequire", model));
        }
Exemplo n.º 7
0
        public ActionResult ApproveRequisition(int id, string status)
        {
            int departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            int userId       = Convert.ToInt32(RouteData.Values["userId"]);

            Department d = new Department()
            {
                DepartmentId = departmentId
            };
            User u = new User()
            {
                UserId = userId
            };
            Request request = new Request()
            {
                ApprovedBy = u,
                RequestId  = id,
                Department = d
            };

            if (status.Equals("ACCEPT"))
            {
                request.Status = (int)RequestStatus.Approved;
            }
            else
            {
                request.Status = (int)RequestStatus.Rejected;
            }

            RequestDao.ApproveRequest(request);
            return(RedirectToAction("PendingRequisitions"));
        }
Exemplo n.º 8
0
        public ActionResult GetOutStandingRequest()
        {
            List <Request> requests = RequestDao.GetUnFulfilledRequests();

            ViewData["Requests"] = requests;
            return(View("UnFulfilledRequests"));
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            RequestDao request = new RequestDao();
            var        param   = "CategoryId:808&CategoryType:'SiteHome'&ItemListActionName:'PostList'&PageIndex:2&ParentCategoryId:0";
            // string httpResponse = request.HttpPost("http://www.cnblogs.com", param);
            string httpResponse = request.HttpGet("http://www.cnblogs.com/sitehome/p/2", "");
            //Console.WriteLine(httpResult);

            CatchDao catchDao = new CatchDao();
            //var result=catchDao.CatchHomePage_MenuList(httpResponse);

            //var result = catchDao.CatchHomePage_ConcentList(httpResponse);
            //if (result != null && result.Count > 0)
            //{
            //    var author0 = result[0];
            //    var secondResponse = request.HttpGet(author0.ContentLink, "");
            //    Console.WriteLine(secondResponse);
            //}
            //else
            //{
            //    Console.WriteLine("爬取异常");
            //}

            //var result = catchDao.CatchHomePage_FirstMenuList(httpResponse);

            var result = catchDao.CatchHomePage_SecondMenuList(httpResponse);

            Console.ReadKey();
        }
Exemplo n.º 10
0
        public void BindRequestTypes()
        {
            List <RequestType> types = new RequestDao().GetRequestTypes(null, null, 1, 1000);

            this.RequestTypes        = types;
            cbRequestType.DataSource = types;
        }
Exemplo n.º 11
0
        public ActionResult LoadRequire()
        {
            string name  = HttpContext.User.Identity.Name;
            var    model = new RequestDao().load(name);

            return(Json(new { data = model }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 12
0
        /// <summary>Atualiza uma requisição</sumary>
        public ObjResult Update(int request_id, Request request)
        {
            connection = db.GetCon();
            connection.Open();

            NpgsqlTransaction transaction = connection.BeginTransaction();
            RequestDao        dao         = new RequestDao(connection, transaction);
            ObjResult         result      = new ObjResult();

            try
            {
                request_id = dao.Update(request_id, request);
                transaction.Commit();
                result.Success();
                result.SetData(request_id);
            }
            catch (Exception e)
            {
                transaction.Rollback();
                throw new Exception(e.ToString());
            }
            finally
            {
                connection.Close();
                db.Close();
            }

            return(result);
        }
Exemplo n.º 13
0
        public void BindRequestStatus()
        {
            List <RequestStatus> statuses = new RequestDao().GetRequestStatuses(null, null, 1, 1000);

            this.Statuses       = statuses;
            cbStatus.DataSource = statuses;
        }
        public ActionResult PendingMobile()
        {
            int            departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            List <Request> requests     = RequestDao.getRequestsByDepartment(departmentId);

            return(Json(requests, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 15
0
        /// <summary>
        /// Valida uma requisição quanto as ações que estão sendo feitas sobre ela
        /// </summary>
        /// <param name="obj">É o objeto requisição</param>
        /// <param name="user_id">É o usuário que está solicitando a operação</param>
        /// <param name="action">É o tipo de ação que está sendo feita pelo usuário</param>
        /// <returns></returns>
        public List <string> Validate(Request obj, int user_id, string action)
        {
            List <string> list_erros = new List <string>();
            RequestDao    dao        = new RequestDao(conn, tran);
            UserDao       userDao    = new UserDao(conn, tran);
            Request       request    = new Request();

            if (action == "reopen" || action == "finish")
            {
                if (!userDao.GetPermission(user_id, "purchase", "update"))
                {
                    list_erros.Add("Permissão Negada.");
                }
            }
            else
            {
                if (!userDao.GetPermission(user_id, "purchase", action))
                {
                    list_erros.Add("Permissão Negada.");
                }
            }

            if (action == "update" || action == "delete" || action == "finish" || action == "reopen")
            {
                if (obj.req_id == 0)
                {
                    list_erros.Add("O objeto informado se refere a um novo registro.");
                    return(list_erros);
                }

                // Verifica se o registro existe
                if (dao.GetById((int)obj.req_id).req_id == 0)
                {
                    list_erros.Add("Registro não encontrado.");
                    return(list_erros);
                }

                request = dao.GetById(obj.req_id);
                if (action != "reopen" && request.req_status != "E")                 // --> Em digitação
                {
                    list_erros.Add("O Status do registro não permite alterações.");
                    return(list_erros);
                }

                if (action == "reopen" && request.req_status != "A")                 // --> Ativa ou finalizada
                {
                    list_erros.Add("O Status do registro não permite estorno.");
                    return(list_erros);
                }

                if (RequestIsEmpty(request.req_id))
                {
                    list_erros.Add("A requisição não contém itens!");
                    return(list_erros);
                }
            }

            return(list_erros);
        }
Exemplo n.º 16
0
        public JsonResult RequisitionById(int id)
        {
            int departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);

            List <RequestDetail> requestDetails = RequestDao.getRequestDetailsByRequestId(id, departmentId);

            return(Json(requestDetails, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetHistoricalRequisitions()
        {
            int            departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            List <Request> history      = RequestDao.getHistoricalRequestsByDepartment(departmentId);

            ViewData["History"] = history;
            return(View("RequisitionHistory"));
        }
        public ActionResult PendingRequisitions()
        {
            int            departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            List <Request> requests     = RequestDao.getRequestsByDepartment(departmentId);

            ViewData["Requests"] = requests;
            return(View("PendingRequisitions"));
        }
Exemplo n.º 19
0
        public List <Request> LoadRequests(FormData form)
        {
            int?           customerId  = form.CustomerId;
            int?           requestType = form.RequestTypeId;
            int?           statusId    = form.StatusId;
            List <Request> requests    = new RequestDao().GetRequests(null, customerId, statusId, 1, 100);

            form.Requests = requests;
            return(requests);
        }
Exemplo n.º 20
0
        /// <summary>Exclui uma determinada requisição</sumary>
        public ObjResult Delete(int request_id)
        {
            connection = db.GetCon();
            connection.Open();
            ObjResult          result   = new ObjResult();
            List <RequestItem> items    = new List <RequestItem>();
            List <Message>     messages = new List <Message>();

            // Excluir a requisição
            NpgsqlTransaction transaction = connection.BeginTransaction();
            RequestDao        dao         = new RequestDao(connection, transaction);
            RequestItemDao    itemDao     = new RequestItemDao(connection, transaction);
            MessageDao        messageDao  = new MessageDao(connection, transaction);

            try
            {
                // Verifica se a requisição possui itens
                items = itemDao.GetItemsByRequest(request_id);
                if (items.Count > 0)
                {
                    // Exclui todos os itens que pertencem à requisição
                    foreach (RequestItem item in items)
                    {
                        itemDao.Delete(item.itm_id);
                    }
                }

                // Verifica se a requisição possui mensagens
                messages = messageDao.GetMessagesBySourceKey(request_id);
                if (messages.Count > 0)
                {
                    // Exclui todas as mensagens associadas à requisição
                    foreach (Message msg in messages)
                    {
                        messageDao.Delete(msg.msg_id);
                    }
                }

                request_id = dao.Delete(request_id);
                result.SetData(request_id);
                result.Success();
                transaction.Commit();
            }
            catch (Exception e)
            {
                transaction.Rollback();
                throw new Exception(e.ToString());
            }
            finally
            {
                connection.Close();
            }

            return(result);
        }
Exemplo n.º 21
0
        public ActionResult DeleteRequire(int ma)
        {
            if (new Commom().CheckPermission(ma))
            {
                return(Json("Error", JsonRequestBehavior.AllowGet));
            }
            if (!new PermissionAttribute().PermissionAuthorization("Delete", "REQUEST"))
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
            bool status = new RequestDao().Delete(ma);

            return(Json(new { status = status }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 22
0
        private static void GenerateData()
        {
            for (int i = 0; i < 1000; i++)
            {
                Request request = new Request()
                {
                    CustomerId = 1, Modified = DateTime.Now, Created = DateTime.Now, CreatedBy = 1, Order = i, Priority = "High", RequestDetails = " Details " + i, ModifiedBy = 3, RequestTypeId = 1, StatusId = 1
                };
                new RequestDao().SaveRequest(request);
            }
            List <Request> requests = new RequestDao().GetRequests(null, null, null, 1, 1000);

            Console.WriteLine("Number of requests:" + (requests != null ? requests.Count : 0));
            Console.ReadLine();
        }
Exemplo n.º 23
0
        public List <string> Validate(RequestItem obj, int user_id, string action)
        {
            Request        request        = new Request();
            RequestDao     requestDao     = new RequestDao(conn, tran);
            RequestItemDao requestItemDao = new RequestItemDao(conn, tran);
            UserDao        userDao        = new UserDao(conn, tran);

            List <string> list_erros = new List <string>();

            // Verificar permissão do usuário para realizar a operação
            if (!userDao.GetPermission(user_id, "purchase", action))
            {
                list_erros.Add("Permissão Negada.");
                return(list_erros);
            }

            // Verificar se a ação for criar, atualizar ou deletar, buscar a requisição referente ao item
            if (action == "create" || action == "update" || action == "delete")
            {
                request = requestDao.GetById(obj.itm_request_id);

                if (request.req_status != "E")
                {
                    list_erros.Add("Não é possível efetuar a ação, pois o status da requisição não permite.");
                }
            }

            // Verificar se a atualização ou exclusão é possível para o item
            if (action == "update" || action == "delete")
            {
                // É um novo registro
                if (obj.itm_id == 0)
                {
                    list_erros.Add("O objeto informado se refere a um novo registro.");
                    return(list_erros);
                }
                // Não foi encontrado o registro
                if (requestItemDao.GetById((int)obj.itm_id).itm_id == 0)
                {
                    list_erros.Add("Registro não encontrado.");
                    return(list_erros);
                }
            }

            return(list_erros);
        }
Exemplo n.º 24
0
        public ActionResult GetDataByDepartment()
        {
            Dictionary <string, List <RequestDetail> > detailDict = RequestDao.GetRequestDetailsByAllDepartments();
            List <object> data = new List <object>();

            foreach (KeyValuePair <string, List <RequestDetail> > kV in detailDict)
            {
                var count = kV.Value.Sum(rd => rd.Quantity);
                var obj   = new
                {
                    Department = kV.Key,
                    Amount     = count
                };
                data.Add(obj);
            }

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 25
0
        public ActionResult CancelMyRequisitions(int requestId)
        {
            int departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            int userId       = Convert.ToInt32(RouteData.Values["userId"]);

            User u = new User()
            {
                UserId     = userId,
                Department = new Department()
                {
                    DepartmentId = departmentId
                }
            };

            RequestDao.CancelRequestById(requestId, u);

            return(RedirectToAction("MyRequisitions"));
        }
Exemplo n.º 26
0
        public ActionResult ReceiveItemsByDepartment(List <DisbursementDetail> details, int id)
        {
            Dictionary <int, DisbursementDetail> dDict = DisbursementDao.GetDisbursementDetailDictByDisbursementId(id);

            //generate adjustment if items are missing
            List <AdjustmentDetail> adjustmentDetails = new List <AdjustmentDetail>();

            foreach (var d in details)
            {
                DisbursementDetail disDetail = dDict[d.DisbursementDetailId];
                if (disDetail.Quantity != d.Quantity && d.Quantity < disDetail.Quantity)
                {
                    AdjustmentDetail adDetail = new AdjustmentDetail()
                    {
                        Item = new Item()
                        {
                            ItemId = d.Item.ItemId
                        },
                        Count = disDetail.Quantity - d.Quantity
                    };

                    adjustmentDetails.Add(adDetail);
                }
            }

            if (adjustmentDetails.Count > 0)
            {
                int  userId = Convert.ToInt32(RouteData.Values["userId"]);
                User u      = new User()
                {
                    UserId = userId
                };
                Adjustment ad = AdjustmentDao.InsertAdjustment(adjustmentDetails, u);
                AdjustmentDao.CalculateAdjustmentCost(ad);
            }


            Disbursement dis = DisbursementDao.DeliverDisbursement(id, details);

            //need to update the request such as status, delivered Qty
            RequestDao.UpdateRequestById(dis.Request.RequestId);

            return(RedirectToAction("Deliveries"));
        }
        public ActionResult Index(List <Item> items)
        {
            if (items != null)
            {
                foreach (var v in items)
                {
                    if (v.ItemId == 0 || v.Quantity < 1)
                    {
                        return(new HttpStatusCodeResult(400));
                    }
                }

                try
                {
                    int departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
                    int userId       = Convert.ToInt32(RouteData.Values["userId"]);


                    Department d = new Department()
                    {
                        DepartmentId = Convert.ToInt32(departmentId)
                    };
                    User u = new User()
                    {
                        UserId     = userId,
                        Department = d
                    };

                    RequestDao.InsertRequest(items, u);
                    Task.Run(() => EmailUtility.SendEmailForApproval(departmentId));
                    return(new HttpStatusCodeResult(200));
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.Message);
                    return(new HttpStatusCodeResult(400));
                }
            }
            else
            {
                return(new HttpStatusCodeResult(400));
            }
        }
Exemplo n.º 28
0
        public ActionResult MyRequisitions()
        {
            int departmentId = Convert.ToInt32(RouteData.Values["departmentId"]);
            int userId       = Convert.ToInt32(RouteData.Values["userId"]);

            User u = new User()
            {
                UserId     = userId,
                Department = new Department()
                {
                    DepartmentId = departmentId
                }
            };
            List <Request> requests = RequestDao.GetMyRequests(u);

            ViewData["Requests"] = requests;

            return(View());
        }
Exemplo n.º 29
0
        public ActionResult ForwardEmail(UpdateFile form)
        {
            bool status = new RequestDao().User_Edit(form.Id, form.name);

            if (!status)
            {
                return(Json(status, JsonRequestBehavior.AllowGet));
            }
            string template = System.IO.File.ReadAllText(HttpContext.Server.MapPath("~/Files/Templates/Approval.html"));
            var    tbl      = new Commom().respone(form.Id);

            tbl.Date_Autho = DateTime.Now.ToString("dd/MM/yyyy");
            tbl.FullName   = new UserDao().load().Where(m => m.UserName.Equals(HttpContext.User.Identity.Name.ToString())).FirstOrDefault().FullName;
            tbl.Url        = Request.Url.GetLeftPart(UriPartial.Authority) + "/Approvals/Detail?ma=" + tbl.Id;
            tbl.UrlFile    = Request.Url.GetLeftPart(UriPartial.Authority) + "/Files/" + form.Id + ".pdf";
            string body = Engine.Razor.RunCompile(template, "checkkey", null, tbl);

            status = new Commom().SendEmail(form.email, "Mail Thông Báo Kiểm Tra - " + tbl.Hang_Muc, body);
            return(Json(new { status = status }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 30
0
 public ActionResult SaveRequire(RequestModel data)
 {
     if (ModelState.IsValid)
     {
         data.User_Nhap = HttpContext.User.Identity.Name;
         bool status;
         if (data.Id > 0)
         {
             status = new RequestDao().Update(data);
             return(Json(new { status = status }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             status = new RequestDao().Save(data);
             return(Json(new { status = status }, JsonRequestBehavior.AllowGet));
         }
     }
     ViewBag.Depart = new SelectList(new DepartmentDao().load(), "Ma_BP", "Ten_BP");
     return(PartialView("_DetailRequire", data));
 }