Exemple #1
0
 public bool ValidUpdateObject(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService,
                           IUserService _userService, ICustomerService _customerService, IMaintenanceService _maintenanceService)
 {
     maintenance.Errors.Clear();
     VUpdateObject(maintenance, _itemService, _itemTypeService, _userService, _customerService, _maintenanceService);
     return isValid(maintenance);
 }
Exemple #2
0
 public Maintenance DiagnoseAndSolutionObject(Maintenance maintenance, string Diagnosis, int DiagnosisCase, DateTime DiagnosisDate, string Solution, int SolutionCase)
 {
     maintenance.Diagnosis = Diagnosis;
     maintenance.DiagnosisCase = DiagnosisCase;
     maintenance.DiagnosisDate = DiagnosisDate;
     maintenance.Solution = Solution;
     maintenance.SolutionCase = SolutionCase;
     return this.DiagnoseAndSolutionObject(maintenance);
 }
Exemple #3
0
 public string PrintError(Maintenance obj)
 {
     string erroroutput = "";
     KeyValuePair<string, string> first = obj.Errors.ElementAt(0);
     erroroutput += first.Key + "," + first.Value;
     foreach (KeyValuePair<string, string> pair in obj.Errors.Skip(1))
     {
         erroroutput += Environment.NewLine;
         erroroutput += pair.Key + "," + pair.Value;
     }
     return erroroutput;
 }
Exemple #4
0
        public static void Main(string[] args)
        {
            var db = new HardwareMaintenanceEntities();

            using (db)
            {
                ICustomerService customerService = new CustomerService(new CustomerRepository(), new CustomerValidator());
                IItemService itemService = new ItemService(new ItemRepository(), new ItemValidator());
                IItemTypeService itemTypeService = new ItemTypeService(new ItemTypeRepository(), new ItemTypeValidator());
                IUserService userService = new UserService(new UserRepository(), new UserValidator());
                IMaintenanceService maintenanceService = new MaintenanceService(new MaintenanceRepository(), new MaintenanceValidator());

                // Warning: this function will delete all data in the DB. Use with caution!!!
                db.DeleteAllTables();

                Customer customer = customerService.CreateObject("Hendy", "Jl. Panjang", "Andrew Papa Hendy", "081111111111", "*****@*****.**");
                DbUser user = userService.CreateObject("SSD DataEntry", "Inputin Barang Hendy yang rusak ke System donk");
                ItemType itemTypeLaptop = itemTypeService.CreateObject("Laptop", "Laptop milik perusahaan");
                ItemType itemTypePC = itemTypeService.CreateObject("PC", "PC milik perusahaan");
                Item item = new Item()
                {
                    CustomerId = customer.Id,
                    ItemTypeId = itemTypeLaptop.Id,
                    Description = "Laptop Lenovo D1900 2013",
                    ManufacturedAt = new DateTime(2013, 3,3),
                    WarrantyExpiryDate = new DateTime(2015, 3,3)
                };
                itemService.CreateObject(item, customerService, itemTypeService);
                Maintenance maintenanceHendy = new Maintenance()
                {
                    ItemId = item.Id,
                    CustomerId = customer.Id,
                    DbUserId = user.Id,
                    RequestDate = DateTime.Now,
                    Complaint = "Keyboard huruf a dan spacebar sudah tidak bekerja dengan baik",
                    Case = Constant.MaintenanceCase.Emergency
                };
                maintenanceHendy = maintenanceService.CreateObject(maintenanceHendy, itemService, itemTypeService, userService, customerService);

                maintenanceHendy = maintenanceService.DiagnoseAndSolutionObject(maintenanceHendy, "Waktunya untuk ganti ulang keyboard", Constant.DiagnosisCase.Replacement_Required, DateTime.Now, "Digantikan keyboard baru untuk Hendy", Constant.SolutionCase.Pending);

                maintenanceHendy = maintenanceService.ConfirmObject(maintenanceHendy);

                maintenanceHendy = maintenanceService.UnconfirmObject(maintenanceHendy);

                maintenanceHendy = maintenanceService.CancelDiagnoseAndSolutionObject(maintenanceHendy);

                maintenanceHendy = maintenanceService.SoftDeleteObject(maintenanceHendy);
                Console.WriteLine("Press any key to stop...");
                Console.ReadKey();
            }
        }
Exemple #5
0
 public Maintenance CreateObject(int ItemId, int CustomerId, int UserId, DateTime RequestDate, string Complaint, int MaintenanceCase,
                                 IItemService _itemService, IItemTypeService _itemTypeService, IUserService _userService, ICustomerService _customerService)
 {
     Maintenance maintenance = new Maintenance()
     {
         ItemId = ItemId,
         CustomerId = CustomerId,
         DbUserId = UserId,
         RequestDate = RequestDate,
         Complaint = Complaint,
         Case = MaintenanceCase
     };
     return this.CreateObject(maintenance, _itemService, _itemTypeService, _userService, _customerService);
 }
Exemple #6
0
 public Maintenance CreateObject(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService,
                           IUserService _userService, ICustomerService _customerService)
 {
     maintenance.Errors = new Dictionary<String, String>();
     if (_validator.ValidCreateObject(maintenance, _itemService, _itemTypeService, _userService, _customerService))
     {
         Item item = _itemService.GetObjectById(maintenance.ItemId);
         maintenance.ItemTypeId = item.ItemTypeId;
         return _repository.CreateObject(maintenance);
     }
     else
     {
         return maintenance;
     }
 }
Exemple #7
0
 public Maintenance VUpdateObject(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService,
                           IUserService _userService, ICustomerService _customerService, IMaintenanceService _maintenanceService)
 {
     VNotFinished(maintenance);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasItem(maintenance, _itemService, _customerService);
     if (maintenance.Errors.Any()) { return maintenance; }
     VUpdateCustomer(maintenance, _maintenanceService);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasItemType(maintenance, _itemService, _itemTypeService);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasUser(maintenance, _userService);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasRequestDate(maintenance);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasComplaint(maintenance);
     if (maintenance.Errors.Any()) { return maintenance; }
     VHasCase(maintenance);
     return maintenance;
 }
Exemple #8
0
 public Maintenance VUnconfirmObject(Maintenance maintenance)
 {
     VIsFinished(maintenance);
     return maintenance;
 }
Exemple #9
0
 public Maintenance VUpdateCustomer(Maintenance maintenance, IMaintenanceService _maintenanceService)
 {
     Maintenance databasemaintenance = _maintenanceService.GetObjectById(maintenance.Id);
     if (maintenance.CustomerId != databasemaintenance.CustomerId)
     {
         maintenance.Errors.Add("CustomerId", "Tidak boleh diubah");
     }
     return maintenance;
 }
Exemple #10
0
 public Maintenance VConfirmObject(Maintenance maintenance)
 {
     VIsDiagnosed(maintenance);
     return maintenance;
 }
Exemple #11
0
 public Maintenance VHasItem(Maintenance maintenance, IItemService _itemService, ICustomerService _customerService)
 {
     Item item = _itemService.GetObjectById(maintenance.ItemId);
     if (item == null)
     {
         maintenance.Errors.Add("Item", "Tidak boleh tidak ada");
     }
     Customer customer = _customerService.GetObjectById(item.CustomerId);
     if (customer == null)
     {
         maintenance.Errors.Add("Customer", "Tidak boleh tidak ada");
     }
     if (customer.Id != maintenance.CustomerId)
     {
         maintenance.Errors.Add("CustomerId", "Tidak boleh berbeda dengan customerId dari item");
     }
     return maintenance;
 }
Exemple #12
0
 public bool ValidDiagnoseAndSolutionObject(Maintenance maintenance)
 {
     maintenance.Errors.Clear();
     VDiagnoseAndSolutionObject(maintenance);
     return isValid(maintenance);
 }
Exemple #13
0
 public Maintenance VHasDiagnosis(Maintenance maintenance)
 {
     String diagnosis = maintenance.Diagnosis;
     if (String.IsNullOrEmpty(diagnosis) || diagnosis.Trim() == "")
     {
         maintenance.Errors.Add("Diagnosis", "Tidak boleh kosong");
     }
     return maintenance;
 }
Exemple #14
0
 public Maintenance VHasSolutionCase(Maintenance maintenance)
 {
     if (maintenance.SolutionCase == null)
     {
         maintenance.Errors.Add("SolutionCase", "Tidak boleh tidak ada");
         return maintenance;
     }
     if (maintenance.SolutionCase != Constant.SolutionCase.Normal &&
         maintenance.SolutionCase != Constant.SolutionCase.Pending &&
         maintenance.SolutionCase != Constant.SolutionCase.Solved)
     {
         maintenance.Errors.Add("SolutionCase", "Can only select Normal, Pending, or Solved");
     }
     return maintenance;
 }
Exemple #15
0
 public Maintenance VHasUser(Maintenance maintenance, IUserService _userService)
 {
     DbUser user = _userService.GetObjectById(maintenance.DbUserId);
     if (user == null)
     {
         maintenance.Errors.Add("DbUser", "Tidak boleh tidak ada");
     }
     return maintenance;
 }
Exemple #16
0
 public Maintenance VHasRequestDate(Maintenance maintenance)
 {
     // RequestDate will never be null
     return maintenance;
 }
Exemple #17
0
 public Maintenance VHasSolution(Maintenance maintenance)
 {
     String solution = maintenance.Solution;
     if (String.IsNullOrEmpty(solution) || solution.Trim() == "")
     {
         maintenance.Errors.Add("Solution", "Tidak boleh kosong");
     }
     return maintenance;
 }
Exemple #18
0
 public Maintenance VHasDiagnosisCase(Maintenance maintenance)
 {
     if (maintenance.DiagnosisCase == null)
     {
         maintenance.Errors.Add("DiagnosisCase", "Tidak boleh tidak ada");
         return maintenance;
     }
     if (maintenance.DiagnosisCase != Constant.DiagnosisCase.All_Ok &&
         maintenance.DiagnosisCase != Constant.DiagnosisCase.Fix_Required &&
         maintenance.DiagnosisCase != Constant.DiagnosisCase.Replacement_Required)
     {
         maintenance.Errors.Add("DiagnosisCase", "Can only select All_Ok, Fix_Required, and Replacement_Required");
     }
     return maintenance;
 }
Exemple #19
0
 public Maintenance VHasItemTypeByItem(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService)
 {
     Item item = _itemService.GetObjectById(maintenance.ItemId);
     ItemType itemType = _itemTypeService.GetObjectById(item.ItemTypeId);
     if (itemType == null)
     {
         maintenance.Errors.Add("ItemType", "Tidak boleh tidak ada");
     }
     return maintenance;
 }
Exemple #20
0
 public Maintenance VHasItemType(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService)
 {
     ItemType itemType = _itemTypeService.GetObjectById(maintenance.ItemTypeId);
     if (itemType == null)
     {
         VHasItemTypeByItem(maintenance, _itemService, _itemTypeService);
     }
     return maintenance;
 }
Exemple #21
0
 public bool ValidCreateObject(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService,
                           IUserService _userService, ICustomerService _customerService)
 {
     VCreateObject(maintenance, _itemService, _itemTypeService, _userService, _customerService);
     return isValid(maintenance);
 }
Exemple #22
0
 public bool isValid(Maintenance obj)
 {
     bool isValid = !obj.Errors.Any();
     return isValid;
 }
Exemple #23
0
 public bool ValidDeleteObject(Maintenance maintenance)
 {
     maintenance.Errors.Clear();
     VDeleteObject(maintenance);
     return isValid(maintenance);
 }
Exemple #24
0
 public Maintenance VIsFinished(Maintenance maintenance)
 {
     if (!maintenance.IsFinished)
     {
         maintenance.Errors.Add("IsFinished", "Belum dikonfirmasi");
     }
     return maintenance;
 }
Exemple #25
0
 public bool ValidUnconfirmObject(Maintenance maintenance)
 {
     maintenance.Errors.Clear();
     VUnconfirmObject(maintenance);
     return isValid(maintenance);
 }
Exemple #26
0
 public Maintenance VNotDiagnosed(Maintenance maintenance)
 {
     if (maintenance.IsDiagnosed)
     {
         maintenance.Errors.Add("IsDiagnosed", "Tidak boleh sudah di diagnosa");
     }
     return maintenance;
 }
Exemple #27
0
 public Maintenance VCancelDiagnoseAndSolutionObject(Maintenance maintenance)
 {
     VIsDiagnosed(maintenance);
     if (maintenance.Errors.Any()) { return maintenance; }
     VNotFinished(maintenance);
     return maintenance;
 }
Exemple #28
0
 public Maintenance VNotFinished(Maintenance maintenance)
 {
     if (maintenance.IsFinished)
     {
         maintenance.Errors.Add("IsFinished", "Tidak boleh sudah dikonfirmasi");
     }
     return maintenance;
 }
Exemple #29
0
 public Maintenance VIsDiagnosed(Maintenance maintenance)
 {
     if (!maintenance.IsDiagnosed)
     {
         maintenance.Errors.Add("IsDiagnosed", "Belum di diagnosa");
     }
     return maintenance;
 }
Exemple #30
0
 public Maintenance VHasDiagnosisDate(Maintenance maintenance)
 {
     if (maintenance.DiagnosisDate == null)
     {
         maintenance.Errors.Add("DiagnosisDate", "Tidak boleh tidak ada");
     }
     return maintenance;
 }