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); }
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); }
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; }
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(); } }
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); }
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; } }
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; }
public Maintenance VUnconfirmObject(Maintenance maintenance) { VIsFinished(maintenance); return maintenance; }
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; }
public Maintenance VConfirmObject(Maintenance maintenance) { VIsDiagnosed(maintenance); return maintenance; }
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; }
public bool ValidDiagnoseAndSolutionObject(Maintenance maintenance) { maintenance.Errors.Clear(); VDiagnoseAndSolutionObject(maintenance); return isValid(maintenance); }
public Maintenance VHasDiagnosis(Maintenance maintenance) { String diagnosis = maintenance.Diagnosis; if (String.IsNullOrEmpty(diagnosis) || diagnosis.Trim() == "") { maintenance.Errors.Add("Diagnosis", "Tidak boleh kosong"); } return maintenance; }
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; }
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; }
public Maintenance VHasRequestDate(Maintenance maintenance) { // RequestDate will never be null return maintenance; }
public Maintenance VHasSolution(Maintenance maintenance) { String solution = maintenance.Solution; if (String.IsNullOrEmpty(solution) || solution.Trim() == "") { maintenance.Errors.Add("Solution", "Tidak boleh kosong"); } return maintenance; }
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; }
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; }
public Maintenance VHasItemType(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService) { ItemType itemType = _itemTypeService.GetObjectById(maintenance.ItemTypeId); if (itemType == null) { VHasItemTypeByItem(maintenance, _itemService, _itemTypeService); } return maintenance; }
public bool ValidCreateObject(Maintenance maintenance, IItemService _itemService, IItemTypeService _itemTypeService, IUserService _userService, ICustomerService _customerService) { VCreateObject(maintenance, _itemService, _itemTypeService, _userService, _customerService); return isValid(maintenance); }
public bool isValid(Maintenance obj) { bool isValid = !obj.Errors.Any(); return isValid; }
public bool ValidDeleteObject(Maintenance maintenance) { maintenance.Errors.Clear(); VDeleteObject(maintenance); return isValid(maintenance); }
public Maintenance VIsFinished(Maintenance maintenance) { if (!maintenance.IsFinished) { maintenance.Errors.Add("IsFinished", "Belum dikonfirmasi"); } return maintenance; }
public bool ValidUnconfirmObject(Maintenance maintenance) { maintenance.Errors.Clear(); VUnconfirmObject(maintenance); return isValid(maintenance); }
public Maintenance VNotDiagnosed(Maintenance maintenance) { if (maintenance.IsDiagnosed) { maintenance.Errors.Add("IsDiagnosed", "Tidak boleh sudah di diagnosa"); } return maintenance; }
public Maintenance VCancelDiagnoseAndSolutionObject(Maintenance maintenance) { VIsDiagnosed(maintenance); if (maintenance.Errors.Any()) { return maintenance; } VNotFinished(maintenance); return maintenance; }
public Maintenance VNotFinished(Maintenance maintenance) { if (maintenance.IsFinished) { maintenance.Errors.Add("IsFinished", "Tidak boleh sudah dikonfirmasi"); } return maintenance; }
public Maintenance VIsDiagnosed(Maintenance maintenance) { if (!maintenance.IsDiagnosed) { maintenance.Errors.Add("IsDiagnosed", "Belum di diagnosa"); } return maintenance; }
public Maintenance VHasDiagnosisDate(Maintenance maintenance) { if (maintenance.DiagnosisDate == null) { maintenance.Errors.Add("DiagnosisDate", "Tidak boleh tidak ada"); } return maintenance; }