-
Notifications
You must be signed in to change notification settings - Fork 0
/
EmergencyCall.cs
79 lines (60 loc) · 2.12 KB
/
EmergencyCall.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using Domain.Exceptions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain
{
[Table("EmergencyCall")]
public class EmergencyCall
{
public const int LOW = 1;
public const int MEDIUM = 2;
public const int HIGH = 3;
public enum AssignModes { None, Default, WaitTime, NumberOfSolvedEmergencyCalls };
public int Id { get; set; }
public String Description { get; set; }
public String Address { get; set; }
public Location Location { get; set; }
public int LevelOfUrgency { get; private set; }
public DateTime CreationDate { get; set; }
public DateTime AssignationDate { get; set; }
public DateTime SolvedDate { get; set; }
public bool Solved { get; set; }
public MobileUnit Mobile { get; set; }
public AssignModes AssignMode { get; set; }
public EmergencyCall()
{
Solved = false;
Location = new Location();
this.CreationDate = DateTime.Now;
this.SolvedDate = DateTime.Now; //ver si se puede cambiar
this.AssignationDate = DateTime.Now;
}
public void SetLevelOfUrgency(int level)
{
if (level != LOW && level != MEDIUM && level != HIGH)
{
throw new InvalidLevelOfUrgencyException();
}
this.LevelOfUrgency = level;
}
public EmergencyCall(String description, String address, Location location, int urgencyLevel, DateTime creationDate)
{
this.Description = description;
this.Address = address;
this.SetLevelOfUrgency(urgencyLevel);
this.CreationDate = creationDate;
Solved = false;
this.Location = location;
this.SolvedDate = DateTime.Now;
this.AssignationDate = DateTime.Now;
}
public override string ToString()
{
return Id + ": " + Description;
}
}
}