Esempio n. 1
0
        public async Task <IActionResult> PutErrand(int id, Errand errand)
        {
            if (id != errand.Id)
            {
                return(BadRequest());
            }

            _context.Entry(errand).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ErrandExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 2
0
        // sparar kommentar från formulär i db.
        public void SaveComments(Errand errand, string errandId)
        {
            // hämtar ärendet i fråga
            var errandToUpdate = _context.Errands.Where(td => td.RefNumber == errandId).First();
            // information i dess nuvurande state
            var currentInfo = errandToUpdate.InvestigatorInfo;
            // action (åtgärd) i dess nuvurande state
            var currentAction = errandToUpdate.InvestigatorAction;

            // om inkommande objekt innehåller åtgärd eller information, concateneras det på datan i databasen
            if (errand.InvestigatorInfo != null)
            {
                currentInfo += " " + errand.InvestigatorInfo;
                errandToUpdate.InvestigatorInfo = currentInfo;
            }
            if (errand.InvestigatorAction != null)
            {
                currentAction += " " + errand.InvestigatorAction;
                errandToUpdate.InvestigatorAction = currentAction;
            }
            // om giltigt val från statusdropdownen är valt uppdateras status i db
            if (!errand.StatusId.Equals("Välj"))
            {
                errandToUpdate.StatusId = errand.StatusId;
            }
            // sparar allt ovan i db
            _context.SaveChanges();
        }
Esempio n. 3
0
        /// <summary>
        /// Retrieves the current errand from the session "CurrentErrand" and saves it.
        /// </summary>
        /// <returns></returns>
        public ViewResult Thanks()
        {
            Errand errand = HttpContext.Session.GetJson <Errand>("CurrentErrand");

            repository.SaveErrand(errand);
            return(View());
        }
Esempio n. 4
0
 public ErrandViewModel(Errand errand)
 {
     ErrandType     = errand.Type;
     ErrandTypeName = Enum.GetName(typeof(ErrandType), errand.Type);
     ErrandStatus   = errand.Status;
     TimeToComplete = errand.TimeToComplete;
 }
Esempio n. 5
0
        public IActionResult AssignInvestigator(Errand errand, int id, bool noAction)
        {
            int errandId = id;

            Task <Errand> taskOfErrand = repository.GetErrand(errandId);
            Errand        errandFromDb = taskOfErrand.Result;

            if (noAction)
            {
                errandFromDb.StatusId         = "S_B";         //Perhaps get from method instead
                errandFromDb.InvestigatorInfo = errand.InvestigatorInfo;

                repository.UpdateErrand(errandFromDb);
            }
            else
            {
                if (!errand.EmployeeId.Equals("Välj"))
                {
                    errandFromDb.StatusId   = "S_A";                   //Perhaps get from method instead
                    errandFromDb.EmployeeId = errand.EmployeeId;
                    repository.UpdateErrand(errandFromDb);
                }
            }

            return(RedirectToAction("CrimeManager", new { id = errandFromDb.ErrandID }));
        }
        public async Task <IActionResult> Help(Errand errand, IFormFile documents, IFormFile pictures)
        {
            errand.RefNumber = TempData["id"].ToString();

            if (documents != null && documents.Length > 0)
            {
                var tempPath = Path.GetTempFileName();
                using (var stream = new FileStream(tempPath, FileMode.Create)) {
                    await documents.CopyToAsync(stream);
                }
                var path = Path.Combine(environment.WebRootPath, "Samples", documents.FileName);
                System.IO.File.Move(tempPath, path);
                repository.UploadSample(errand, documents.FileName);
            }

            if (pictures != null && pictures.Length > 0)
            {
                var tempPath2 = Path.GetTempFileName();
                using (var stream2 = new FileStream(tempPath2, FileMode.Create)) {
                    await pictures.CopyToAsync(stream2);
                }
                var path2 = Path.Combine(environment.WebRootPath, "Pictures", pictures.FileName);
                System.IO.File.Move(tempPath2, path2);
                repository.UploadPicture(errand, pictures.FileName);
            }
            if (errand.StatusId != "Välj status")
            {
                repository.UpdateErrandInfo(errand);
            }

            return(RedirectToAction("startInvestigator"));
        }
        private List <Mechanic> AvailableMechanics(Errand errand)
        {
            _errands = _erranddb.GetEntities();
            _errands.ListDB.Add(errand);
            _mechanics = _mechanicdb.GetEntities();


            var mechanicsAvailable = new List <Mechanic>();

            foreach (var mechanic in _mechanics.DBList)
            {
                var errandCount = mechanic.NumberOfErrands.Count;
                foreach (var skill in mechanic.Skills)
                {
                    if (errand.Issue == skill)
                    {
                        if (errandCount < 2 && errandCount >= 0)
                        {
                            mechanicsAvailable.Add(mechanic);
                        }
                    }
                }
            }

            return(mechanicsAvailable);
        }
        public async Task AssignMechanicToErrand(Mechanic mechanic, Errand errand)
        {
            List <Errand>   Errands   = GetAllErrands();
            List <Mechanic> Mechanics = manageMechanics.AllMechanics();

            Mechanics = Mechanics.Where(x => x.IdNumber != mechanic.IdNumber).ToList();

            if (errand.MechanicId != Guid.Empty)
            {
                throw new Exception("This errand is already assigned to a mechanic");
            }

            else if (errand.MechanicId == Guid.Empty)
            {
                Errands.Where(x => x.ErrandId == errand.ErrandId)
                .ToList()
                .ForEach(s => s.WorkState = WorkState.Pågående);

                Errands.Where(x => x.ErrandId == errand.ErrandId)
                .ToList()
                .ForEach(s => s.MechanicId = mechanic.IdNumber);

                errand.MechanicId = mechanic.IdNumber;
                errand.WorkState  = WorkState.Pågående;

                mechanic.Errands.Add(errand);

                Mechanics.Add(mechanic);

                await dataAccess.SaveData <Mechanic>(Mechanics, FileName.Mechanic);

                await dataAccess.SaveData <Errand>(Errands, FileName.Errands);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Gets the vehicle that's connected to an errand.
        /// </summary>
        /// <param name="errand"></param>
        /// <returns></returns>
        public Vehicle GetVehicleFromErrand(Errand errand)
        {
            var car = db.Cars.FirstOrDefault(car => errand.VehicleID.Contains(car.ID));

            if (car != null)
            {
                return(car);
            }

            var motorcycle = db.Motorcycles.FirstOrDefault(motorcycle => errand.VehicleID.Contains(motorcycle.ID));

            if (motorcycle != null)
            {
                return(motorcycle);
            }

            var bus = db.Buses.FirstOrDefault(bus => errand.VehicleID.Contains(bus.ID));

            if (bus != null)
            {
                return(bus);
            }

            var truck = db.Trucks.FirstOrDefault(truck => errand.VehicleID.Contains(truck.ID));

            if (truck != null)
            {
                return(truck);
            }

            return(null);
        }
Esempio n. 10
0
        public async Task <ActionResult <Errand> > PostErrand(Errand errand)
        {
            _context.Errands.Add(errand);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetErrand", new { id = errand.Id }, errand));
        }
Esempio n. 11
0
        public static void Modify(Errand e)
        {
            var db        = new DataAccess <Errand>();
            var mechanics = db.Load();

            mechanics[mechanics.FindIndex(ind => ind.ID == e.ID)] = e;
            db.Save(mechanics);
        }
Esempio n. 12
0
        public void ErrandCreation()
        {
            DateTime test = DateTime.Now;
            var      sut  = new Errand(test, "Test");

            Assert.True(sut.ErrandStart
                        == test);
        }
Esempio n. 13
0
        public void FailSetEndTime()
        {
            DateTime end   = DateTime.Now;
            DateTime start = DateTime.Now;
            var      sut   = new Errand(start, "Test");

            Assert.False(sut.SetEnd(end));
        }
Esempio n. 14
0
 public NewErrandPage()
 {
     InitializeComponent();
     _errandservice = new ErrandService();
     _errand        = new Errand();
     //Binder sidans datakontext till ett ärende
     this.DataContext = _errand;
 }
Esempio n. 15
0
        public void DuplicateEvents()
        {
            var errand = new Errand(DateTime.Now, "Test");
            var sut    = new User("email", "password");

            sut.addErrand(errand);
            Assert.False(sut.addErrand(errand));
        }
 private ErrandModel CreateTaskModel(Errand task)
 {
     return(new ErrandModel
     {
         Id = task.Id,
         Description = task.Description
     });
 }
Esempio n. 17
0
 private void ChangeErrandStatusAndMechanicID(Errand errand)
 {
     if (errand.ErrandStatus == ErrandStatus.Gul)
     {
         errand.MechanicID   = null;
         errand.ErrandStatus = ErrandStatus.Röd;
     }
 }
 private Errand CreateErrandCopy(Errand source)
 {
     return(new Errand
     {
         Id = source.Id,
         Description = source.Description
     });
 }
 private ErrandModel CreateErrandModel(Errand errand)
 {
     return(new ErrandModel
     {
         Id = errand.Id,
         Description = errand.Description
     });
 }
Esempio n. 20
0
        public ErrandAttribute(Errand errand)
        {
            if (!errand.IsDefined())
            {
                throw new ArgumentOutOfRangeException("errand");
            }

            mErrand = errand;
        }
Esempio n. 21
0
 private void GetAndSetVehicleInfo(Errand errand, Vehicle vehicle)
 {
     tbErrandModelName.Text        = vehicle.ModelName;
     tbErrandLicensePlate.Text     = vehicle.LicensePlate;
     tbErrandFuelType.Text         = vehicle.FuelType.ToString();
     tbErrandRegistrationdate.Text = vehicle.RegistrationDate.ToShortDateString();
     tbErrandOdometer.Text         = vehicle.Odometer.ToString();
     tbErrandDescription.Text      = errand.Description;
     tbErrandProblem.Text          = errand.Problem.ToString();
 }
Esempio n. 22
0
        public ViewResult Tack(Errand errand)
        {
            ViewBag.Title = "SmåStad - Tack";
            var myErrand = HttpContext.Session.GetJson <Errand>("NewErrand");

            repository.SaveErrand(myErrand);

            HttpContext.Session.Remove("NewErrand");
            return(View(myErrand));
        }
Esempio n. 23
0
        public IActionResult Save(Errand errand)
        {
            errand.ErrandId = int.Parse(TempData["Id"].ToString());
            if (errand.DepartmentId != "Välj alla")
            {
                repository.UpdateDepartment(errand);
            }

            return(RedirectToAction("CrimeCoordinator", new { id = errand.ErrandId }));
        }
Esempio n. 24
0
        /// <summary>
        /// Removes an errand from the mechanic's current errands.
        /// </summary>
        /// <param name="mechanicID"></param>
        /// <param name="errandID"></param>
        public void RemoveCurrentErrand(Mechanic mechanic, Errand errand)
        {
            //var mechanic = db.CurrentMechanics.FirstOrDefault(x => x.ID == mechanicID);
            //var errand = db.Errands.FirstOrDefault(x => x.ID == errandID);
            mechanic.CurrentErrands.Remove(errand.ID);
            errand.ErrandStatus = ErrandStatus.Grön;

            _dbCurrentMechanics.SaveMechanicList(db.CurrentMechanics, currentMechanicsPath);
            _dbErrands.SaveList(db.Errands);
        }
Esempio n. 25
0
        static IErrand InitErrand(Errand errand)
        {
            var instance = ErrandAttribute.CreateErrand(errand);

            if (instance == null)
            {
                mareep.WriteError("SYSTEM: unknown errand '{0}'.", errand);
            }

            return(instance);
        }
Esempio n. 26
0
 public ViewResult Index(Errand errand)
 {
     if (ModelState.IsValid)
     {
         return(View("Citizen/Validate", errand));
     }
     else
     {
         return(View());
     }
 }
        private void lvActive_ItemClick(object sender, ItemClickEventArgs e)
        {
            Errand errand = (Errand)lvActive.SelectedItem;

            idLoad.Text          = Convert.ToString(errand.Id);
            descriptionLoad.Text = errand.Description;
            firstnameLoad.Text   = errand.CustomerFirstName;
            lastnameLoad.Text    = errand.CustomerLastName;
            phonenumberLoad.Text = Convert.ToString(errand.CustomerPhonenumber);
            emailLoad.Text       = errand.CustomerEmail;
        }
        /// <summary>
        /// En användare kan ändra status på ett pågående ärende till "klart".
        /// </summary>
        /// <param name="e"></param>
        public void EndActiveErrand(Errand e)
        {
            _mechanics = _mechanicdb.Load();
            _mechanic  = _mechanics.FirstOrDefault(mechanic => mechanic.MechanicID == CurrentUser.user.UserID);

            e.Status = false;
            _mechanic.NumberOfErrands--;

            DBService.Modify(e);
            DBService.Modify(_mechanic);
        }
 public IActionResult Validate(Errand errand)
 {
     if (ModelState.IsValid)
     {
         return(View("ValidateView", errand));
     }
     else
     {
         return(View("ReportCrimeView"));
     }
 }
Esempio n. 30
0
        public ViewResult ReportCrime(Errand errand)
        {
            if (ModelState.IsValid)
            {
                return(View("Validate", errand));
            }

            else
            {
                return(View());
            }
        }
Esempio n. 31
0
        private Errand fillErrand()
        {
            Errand e = new Errand();

            e.StartDatum = StartDatum;
            e.Starttid = Starttid;
            e.Tidsperiod = Tidsperiod;
            e.Aktivitet = Aktivitet;
            e.Kontaktperson = Kontaktperson;
            e.Ansvarig = getHandlerNameById(Ansvarig);
            e.Prioritet = Prioritet;
            e.Refnr = Refnr;
            e.Status = Status;
            e.Sekretess = Sekretess;
            e.ErrandID = ArkivID;
            e.Dagar = Dagar;
            e.Kod1 = Kod1;
            e.Kod2 = Kod2;

            return e;
        }
Esempio n. 32
0
            /// <summary>
            /// Konvertera en ArrayList till Errand object.
            /// </summary>
            /// <param name="arr"></param>
            /// <returns></returns>
            public static Errand[] convertFromArray(ArrayList arr)
            {
                Errand[] e = new Errand[arr.Count];

                for (int i = 0; i < arr.Count; i++)
                {
                    e[i] = (Errand)arr[i];
                }
                return e;
            }
Esempio n. 33
0
            /// <summary>
            /// Konverterar en Errand till ListViewItem. Används med fördel
            /// till att uppdatera ListView med en array av Errand
            /// </summary>
            /// <param name="or"></param>
            /// <returns></returns>
            public static ListViewItem[] convertToErrand(Errand[] e)
            {
                //				ArrayList al = new ArrayList();
                ListViewItem[] lw = new ListViewItem[e.Length];

                for (int i = 0; i < lw.Length; i++)
                {
                    lw[i] = new ListViewItem(e[i].StartDatum);
                    lw[i].SubItems.Add(e[i].Starttid);
                    lw[i].SubItems.Add(e[i].Tidsperiod);
                    lw[i].SubItems.Add(e[i].Kontaktperson); //.PadLeft(10).Substring(0, 6).Trim() + " - " + e[i].Kontaktperson.PadLeft(10).Substring(6));
                    lw[i].SubItems.Add(e[i].Ansvarig);
                    lw[i].SubItems.Add(e[i].ErrandID);
                    if (ECS.noNULL(e[i].Status).Equals("1"))
                        lw[i].BackColor = System.Drawing.Color.FromArgb(CommonDefinitions.STATUS_RECEIVED);

                    if (ECS.noNULL(e[i].Status).Equals("2"))
                        lw[i].BackColor = System.Drawing.Color.FromArgb(CommonDefinitions.STATUS_ABSENT);

                    if (ECS.noNULL(e[i].Status).Equals("3"))
                        lw[i].BackColor = System.Drawing.Color.FromArgb(CommonDefinitions.STATUS_DONE);

                    if (ECS.noNULL(e[i].Status).Equals("4"))
                        lw[i].BackColor = System.Drawing.Color.FromArgb(CommonDefinitions.STATUS_CANCELED);
                }

                return lw;
            }