protected void SaveRepairCard_OnClick(object sender, EventArgs e) { CarServicePresentationUtility.ClearNotificationMsgList(this.notificationMsgList); CarServicePresentationUtility.HideNotificationMsgList(this.notificationMsgList); this.notificationMsgList.CssClass = CarServiceConstants.NEGATIVE_CSS_CLASS_NAME; DateTime?startRepairDate = null; string startRepairDateTxt = this.startRepairDate.SelectedDate; bool validStartRepairDate = CarServicePresentationUtility.ProcessStartRepairDate(startRepairDateTxt, this.notificationMsgList, out startRepairDate); decimal sparePartsPrice = 0M; decimal repairPrice = 0M; string repairPriceTxt = this.repairPrice.Text; string sparePartsPriceTxt = this.sparePartsPrice.Text; bool validPrices = CarServicePresentationUtility.ProcessRepairPrices(sparePartsPriceTxt, repairPriceTxt, this.notificationMsgList, out sparePartsPrice, out repairPrice); string automobileIdTxt = this.automobileDropDown.SelectedValue; Automobile automobile = CarServiceUtility.GetAutomobile(automobileIdTxt, this.persister); bool validAutomobileId = (automobile != null); ListItemCollection selectedSparePartItems = this.selectedSpareParts.Items; bool validSpareParts = CarServicePresentationUtility.IsSparePartItemsValid(selectedSparePartItems, this.notificationMsgList); if (validAutomobileId && validPrices && validSpareParts && (validStartRepairDate && startRepairDate.HasValue)) { string description = this.repairCardDescription.Text; object repairCardIdObject = Session[CarServiceConstants.REPAIR_CARD_ID_PARAM_NAME]; if (repairCardIdObject != null) { int repairCardId; if (Int32.TryParse(repairCardIdObject.ToString(), out repairCardId)) { DateTime?finishRepairDate = null; string finishRepairDateTxt = this.finishRepairDate.SelectedDate; bool validFinishRepairDate = CarServicePresentationUtility.ProcessFinishRepairDate(finishRepairDateTxt, this.notificationMsgList, out finishRepairDate); if (validFinishRepairDate == true) { RepairCard repairCard = this.persister.GetRepairCardById(repairCardId); UpdateRepairCard(repairCard, automobile, finishRepairDate, description, sparePartsPrice, repairPrice, selectedSparePartItems); CarServicePresentationUtility.AppendNotificationMsg("Repair card is updated successfully", this.notificationMsgList); this.notificationMsgList.CssClass = CarServiceConstants.POSITIVE_CSS_CLASS_NAME; } } } else { SaveRepairCard(automobile, startRepairDate.Value, description, sparePartsPrice, repairPrice, selectedSparePartItems); CarServicePresentationUtility.AppendNotificationMsg("Repair card is saved successfully", this.notificationMsgList); this.notificationMsgList.CssClass = CarServiceConstants.POSITIVE_CSS_CLASS_NAME; } } CarServicePresentationUtility.ShowNotificationMsgList(this.notificationMsgList); }