public void NewRequest(string distName, TypeOfRequest typeOfRequest, string distOwner, string action, string userToAddOrRemove, string comments)
        {
            switch (typeOfRequest)
            {
            case TypeOfRequest.NewMailingList:
                NewMailingList.Click();
                break;

            case TypeOfRequest.ModifyExisting:
                ModifyExisting.Click();
                break;

            default:
                break;
            }

            DistNameInput.SendKeys(distName);
            DistOwnerList.SelectOption(distOwner).Click();
            AddBtn.Click();
            ActionToPerform.SelectOption(action).Click();
            UsersToAddOrRemove.SelectOption(userToAddOrRemove).Click();
            AddBtn2.Click();
            CommentsInput.SendKeys(comments);
            SubmitBtn.Click();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            TypeOfRequest typeOfRequest = db.TypeOfRequests.Find(id);

            db.TypeOfRequests.Remove(typeOfRequest);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: TypeOfRequests/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TypeOfRequest typeOfRequest = db.TypeOfRequests.Find(id);

            if (typeOfRequest == null)
            {
                return(HttpNotFound());
            }
            return(View(typeOfRequest));
        }
Exemplo n.º 4
0
        private void ButtonChoose_Click(object sender, EventArgs e)
        {
            TypeOfRequest req = TypeOfRequest.getInfo;

            if (RButtonAdd.Checked)
            {
                req = TypeOfRequest.addInfo;
            }
            else if (RButtonUpdate.Checked)
            {
                req = TypeOfRequest.updateInfo;
            }

            if (!CheckingInfo.CheckAccess(user.Type, req))
            {
                MessageBox.Show("Access is denied!");
            }
            else
            {
                switch (req)
                {
                case TypeOfRequest.getInfo:
                {
                    this.Hide();
                    FindInfo form = new FindInfo();
                    form.Show();
                    break;
                }

                case TypeOfRequest.addInfo:
                {
                    this.Hide();
                    AddInfo form = new AddInfo();
                    form.Show();
                    break;
                }

                case TypeOfRequest.updateInfo:
                {
                    this.Hide();
                    UpdateInfo form = new UpdateInfo();
                    form.Show();
                    break;
                }

                default: break;
                }
            }
        }
        public ActionResult Edit([Bind(Include = "TypeOfRequestId,NameEn,NameAr,CreatedBy,CreatedDate,LastUpdateBy,LastUpdateDate,Active")] TypeOfRequest typeOfRequest)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.Where(u => "kk" + u.JobNumber == User.Identity.Name).FirstOrDefault();

                typeOfRequest.LastUpdateBy   = user.FirstNameEn + " " + user.LastNameEn;
                typeOfRequest.LastUpdateDate = DateTime.Now;

                db.Entry(typeOfRequest).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(typeOfRequest));
        }
Exemplo n.º 6
0
 public Request(int id, TypeOfRequest reqType, double x, double y, int lb, int ub, int servTime, int reqLoad, bool critical, bool origin, int pairID)
 {
     this.ID_Unique     = id;
     this.PairID        = pairID;
     this.RequestType   = reqType;
     Coordinates        = new RequestCoordinates(x, y);
     TimeWindow         = new RequestTimeWindow(lb, ub);
     this.ServiceTime   = servTime;
     this.RequiredLoad  = reqLoad;
     this.Arrival       = 0;
     this.DepartureTime = 0;
     this.StartService  = 0;
     this.WaitingTime   = 0;
     this.IsCritical    = critical;
     this.Origin        = origin;
 }
Exemplo n.º 7
0
        ///
        /// <param name="userType">Type of user</param>
        /// <param name="reqType">Type of request</param>
        public static bool CheckAccess(TypeOfUser userType, TypeOfRequest reqType)
        {
            if (reqType == TypeOfRequest.addInfo && userType == TypeOfUser.administrator)
            {
                return(true);
            }
            if (reqType == TypeOfRequest.updateInfo && userType == TypeOfUser.university_worker)
            {
                return(true);
            }
            if (reqType == TypeOfRequest.getInfo)
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Proceso lector de problemas en formato DARP
        /// </summary>
        public InputDataLoaded ReadInputProblems(string [] files)
        {
            int             interval = 0;
            InputDataLoaded input    = new InputDataLoaded();

            for (int i = 0; i < files.Count(); i++)
            {
                int     index = 0;
                DataRow row   = input.TableProblems.NewRow();
                Problem data  = new Problem();
                //Name file.
                var    name        = Path.GetFileName(files[i]);
                string problemInfo = File.ReadLines(files[i]).First();
                var    headers     = problemInfo.Split(' ');
                data.ID_Problem = name;
                var i_rem = name.IndexOf('.');
                data.BestKnownSolution = Constants.BestKnownProblem()[i_rem > -1 ? name.Remove(name.IndexOf('.')) : name];
                data.NumVehicles       = Convert.ToInt16(headers[0]);
                data.NumRequests       = Convert.ToUInt16(headers[1]);
                data.MaxVehDistance    = Convert.ToDouble(headers[2]);
                data.MaxLoad           = Convert.ToInt16(headers[3]);
                data.MaxRideTime       = Convert.ToDouble(headers[4]);

                //Fill rows.
                row[index++] = data.ID_Problem;
                row[index++] = data.BestKnownSolution;
                row[index++] = data.NumVehicles;
                row[index++] = data.NumRequests;
                row[index++] = data.MaxVehDistance;
                row[index++] = data.MaxLoad;
                row[index++] = data.MaxRideTime;

                //Set interval.
                interval = data.NumRequests / 4;

                //Set  the limit interval.
                //Skip header, it has already been read.
                List <string> requestsLines = File.ReadLines(files[i]).Skip(1).ToList();
                int           num_Request   = 0;
                foreach (var line in requestsLines)
                {
                    bool          critical    = false;
                    var           requestLine = line.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); //Split by spaces.
                    TypeOfRequest type        = TypeOfRequest.DEPOT;
                    var           x           = Convert.ToDouble(requestLine[1]);                                            //Pos X.
                    var           y           = Convert.ToDouble(requestLine[2]);                                            //Pos Y.
                    var           st          = Convert.ToInt16(requestLine[3]);                                             //Service time.
                    var           rl          = Convert.ToInt16(requestLine[4]);                                             //Required load.
                    var           lb          = Convert.ToInt16(requestLine[5]);                                             //Upper bound.
                    var           ub          = Convert.ToInt16(requestLine[6]);                                             //Lower bound.

                    if (Convert.ToInt16(requestLine[0]) != 0 && (Convert.ToInt16(requestLine[0]) <= (interval * 1)))
                    {
                        type = TypeOfRequest.OUTCOME;
                    }
                    else if (Convert.ToInt16(requestLine[0]) != 0 && (Convert.ToInt16(requestLine[0]) <= (interval * 2)))
                    {
                        type     = TypeOfRequest.INCOME;
                        critical = true;
                    }
                    else if (Convert.ToInt16(requestLine[0]) != 0 && (Convert.ToInt16(requestLine[0]) <= (interval * 3)))
                    {
                        type     = TypeOfRequest.OUTCOME;
                        critical = true;
                    }
                    else if (Convert.ToInt16(requestLine[0]) != 0)
                    {
                        type = TypeOfRequest.INCOME;
                    }
                    Request request = new Request(num_Request, type, x, y, lb, ub, st, rl, critical, num_Request <= data.TotalCustomers, num_Request <= data.TotalCustomers ? num_Request : num_Request - data.TotalCustomers);
                    num_Request++;
                    data.Requests.Add(request);
                    //if (num_Request > data.TotalCustomers)
                    //    num_Request = 1;
                }



                //Service time.
                row[index++]     = data.Requests.Last().ServiceTime;
                data.ServiceTime = data.Requests.Last().ServiceTime;
                data.CalculateDistanceMatrix();

                data.CalculateAvgTimeWindow();

                input.Problems.Add(data);
                input.TableProblems.Rows.Add(row);
            }

            return(input);
        }