protected void btnSaveExchange_Click(object sender, EventArgs e) { _exchangeHeader = AddExchange1.ExchangeHeader; _addExchange = false; SetAvtiveView(vwMainIndex); CopyExchangeList(); gvSpareList.DataBind(); }
private void ShowServiceSheet(bool readOnly, Serviceheader serH) { _finish = readOnly; readOnlyForm = readOnly; AddExchange1.readOnlyMode = readOnly; if (serH != null) { //_exchangeHeader = RepairListDataSource.GetExchangeHeaderFromServiceSheet(serH.Id); #region header section // warranty info // WarrantyInfo warrInfo = ServiceTools.GetWarrantyInfo(serH.Enginenumber); _sVehileColor = serH.Colorcode; _sVehicleDealer = serH.Dealercode; _sVehicleType = serH.Itemtype; _feeAmount = serH.Feeamount.ToString(); txtSheetNo.Text = serH.Servicesheetnumber; txtEngineNo.Text = serH.Enginenumber; txtErrorStatus.Text = serH.Damaged; txtRepair.Text = serH.Repairresult; viewmodeDealer = serH.Dealercode; if (ListContainsValue(ddlDealer.Items, viewmodeDealer)) ddlDealer.SelectedValue = viewmodeDealer; else ddlDealer.Items.Clear(); GetBranchs(); btnCheck_Click(null, null); // donot clear EnableButtonAfterCheck(true, true); // service type bool maint = false, rep = false, warr = false; switch ((ServiceType)serH.Servicetype) { case ServiceType.Repair: rep = true; break; case ServiceType.Warranty: warr = true; break; case ServiceType.Maintain: maint = true; break; case ServiceType.MaintainAndRepair: maint = true; rep = true; break; case ServiceType.MaintainAndWarranty: maint = true; warr = true; break; case ServiceType.WarrantyAndRepair: warr = true; rep = true; break; case ServiceType.RepairAndMaintainAndWarranty: maint = true; rep = true; warr = true; break; } chblSerList.Items[0].Selected = maint; chblSerList.Items[1].Selected = rep; chblSerList.Items[2].Selected = warr; #endregion gvSpareList.DataSourceTable.Rows.Clear(); #region repair section _feeAmount = serH.Feeamount.ToString(); // service detail: spares RepairListDataSource ds = new RepairListDataSource(); ArrayList serDs = ds.GetServiceDetails(serH.Id); for (int i = 0; i < serDs.Count; i++) { Servicedetail serD = (Servicedetail)serDs[i]; DataRow row = gvSpareList.DataSourceTable.NewRow(); Warrantycondition spareInfo = WarrantyContent.GetWarrantyCondition(serD.Partcode); row["SpareNo"] = i + 1; row["SpareNumber"] = serD.Partcode; row["Quantity"] = serD.Partqty; row["SpareCost"] = serD.Unitprice; row["IsExchangeSpare"] = string.Empty; row["ItemId"] = serD.Id; if (spareInfo != null) { row["SpareNameEn"] = spareInfo.Partnameen; row["SpareNameVn"] = spareInfo.Partnamevn; row["SpareName"] = (Thread.CurrentThread.CurrentCulture.Name == "vi-VN") ? spareInfo.Partnamevn : spareInfo.Partnameen; } else { row["SpareNameEn"] = serD.Partname; row["SpareNameVn"] = serD.Partname; row["SpareName"] = serD.Partname; } CalculateAmount(row, null); gvSpareList.DataSourceTable.Rows.Add(row); } #endregion #region exchangeSection if (ds == null) ds = new RepairListDataSource(); Exchangepartheader exch = ds.GetExchangeHeader(serH.Id); _exchangeHeader = exch; if (exch != null) { AddExchange1.ExchangeHeader = _exchangeHeader; AddExchange1.InitUC(); AddExchange1.SpareList.Rows.Clear(); ArrayList exchDs = ds.GetExchangeDetails(exch.Id); AddExchange1.RawSpareList = AddExchange.SpareListOnServiceSchema; for (int i = 0; i < exchDs.Count; i++) { Exchangepartdetail exchD = (Exchangepartdetail)exchDs[i]; Warrantycondition spareInfo = WarrantyContent.GetWarrantyCondition(exchD.Partcodem); #region Display on SRS DataRow row = gvSpareList.DataSourceTable.NewRow(); row["SpareNo"] = i + 1; row["SpareNumber"] = exchD.Partcodem; row["Quantity"] = exchD.Partqtym; row["SpareCost"] = exchD.Unitpricem; row["ExchangeNumber"] = exch.Vouchernumber; row["IsExchangeSpare"] = "true"; row["ItemId"] = exchD.Id; if (spareInfo != null) { row["SpareNameEn"] = spareInfo.Partnameen; row["SpareNameVn"] = spareInfo.Partnamevn; row["SpareName"] = (Thread.CurrentThread.CurrentCulture.Name == "vi-VN") ? spareInfo.Partnamevn : spareInfo.Partnameen; } else { row["SpareNameEn"] = Message.DataLost; row["SpareNameVn"] = Message.DataLost; row["SpareName"] = Message.DataLost; } //_feeAmount = exch.Feeamount.ToString(); //CalculateAmount(row, null); gvSpareList.DataSourceTable.Rows.InsertAt(row, 0); #endregion #region display on PCV row = AddExchange1.RawSpareList.NewRow(); row["ItemId"] = exchD.Id; row["SpareNo"] = i + 1; row["SpareNumber"] = exchD.Partcodem; row["Quantity"] = exchD.Partqtym; row["BrokenCode"] = exchD.Broken.Brokencode; row["SerialNumber"] = exchD.Serialnumber; AddExchange1.AddNewItem(row); AddExchange1.RawSpareList.Rows.Add(row); #endregion } } #endregion CalculateTotalAmount(); gvSpareList.DataBind(); CheckFinish(); // cust info n' buy date _custInfo = serH.Customer; ShowCustInfo(); txtRepairDate.Text = (serH.Servicedate > DateTime.MinValue) ? serH.Servicedate.ToShortDateString() : ""; } }
// user cancel select an item protected void btnCancel_Click(object sender, EventArgs e) { if ((_addExchange) && (MultiView1.ActiveViewIndex == vwAddExchangeIndex)) { SetAvtiveView(vwMainIndex); _addExchange = false; } else if (_addExchange) { SetAvtiveView(vwAddExchangeIndex); if (AddExchange1.ExchangeHeader != null) _exchangeHeader = AddExchange1.ExchangeHeader; } else { SetAvtiveView(vwMainIndex); } }
private bool SaveExchangeSpares(ServiceStatus status, Exchangepartheader exchH, Serviceheader serH, DataTable spareList, long totalFee) { WarrantyContentErrorCode err = WarrantyContentErrorCode.OK; _exchSaved = false; // check for any exchange spares exist // ret true if no one to save if ((exchH == null) || (spareList == null) || (spareList.Rows.Count < 1)) return true; // save header for (int i = 0; i < 5; i++) // try 5 time to ensure { err = AddExchange.SaveExchHeader(status, UserHelper.AreaCode, CurrentDealer, exchH, serH, totalFee); if (err == WarrantyContentErrorCode.OK) break; } if (err != WarrantyContentErrorCode.OK) { AddError(err); return false; } // save detail err = AddExchange.SaveExchDetails(spareList, exchH); if (err != WarrantyContentErrorCode.OK) { AddError(err); return false; } _exchSaved = true; return true; }
private void ShowExchangeVoucher() { readOnlyForm = true; AddExchange1.readOnlyMode = readOnlyForm; Exchangepartheader exH = RepairListDataSource.GetExchangeHeader(showExchangeSparesNumber); _exchangeHeader = exH; if ( (exH == null) || (UserHelper.IsDealer && (exH.Dealercode != UserHelper.DealerCode)) ) { AddError(WarrantyContentErrorCode.ExchangeNumberNotFound); SetAvtiveView(vwNoSheetToViewIndex); } else { viewmodeDealer = exH.Dealercode; AddExchange1.ExchangeHeader = exH; AddExchange1.InitUC(); RepairListDataSource ds = new RepairListDataSource(); ArrayList exDs = ds.GetExchangeDetails(exH.Id); if ((exDs != null) && (exDs.Count > 0)) { DataTable tbl = AddExchange.SpareListOnServiceSchema; foreach (Exchangepartdetail exD in exDs) { DataRow row = tbl.NewRow(); AddExchange1.GetSpareInfo(exD.Partcodem, row); row["Quantity"] = exD.Partqtym; row["SpareCost"] = exD.Unitpricem; row["BrokenCode"] = exD.Broken.Brokencode; row["SerialNumber"] = exD.Serialnumber; AddExchange1.CalculateAmount(row, null); tbl.Rows.Add(row); } AddExchange1.RawSpareList = tbl; } SetAvtiveView(vwAddExchangeIndex); } }
public static WarrantyContentErrorCode SaveExchDetail(DataRow item, Exchangepartheader exchH, IDao<Exchangepartdetail, long> dao, IDao<Broken, long> daoB) { IList list; long eid; long.TryParse(item["ItemId"].ToString(), out eid); Exchangepartdetail exchD = dao.GetById(eid, true); if (exchD == null) exchD = new Exchangepartdetail(); if (exchH == null) return WarrantyContentErrorCode.SaveExchDetailFailed; if (string.IsNullOrEmpty(item["BrokenCode"].ToString())) return WarrantyContentErrorCode.SaveExchDetailFailed; if (string.IsNullOrEmpty(item["SpareNumber"].ToString())) return WarrantyContentErrorCode.SaveExchDetailFailed; if (string.IsNullOrEmpty(item["Quantity"].ToString())) return WarrantyContentErrorCode.SaveExchDetailFailed; //if (string.IsNullOrEmpty(item["SerialNumber"].ToString())) return WarrantyContentErrorCode.SaveExchDetailFailed; if (string.IsNullOrEmpty(item["SpareCost"].ToString())) return WarrantyContentErrorCode.SaveExchDetailFailed; // get broken object daoB.SetCriteria(new ICriterion[] { Expression.Eq("Brokencode", item["BrokenCode"].ToString()) }); list = daoB.GetAll(); if (list.Count != 1) return WarrantyContentErrorCode.SaveExchDetailFailed; Broken broken = (Broken)list[0]; long price; long.TryParse(item["SpareCost"].ToString(), out price); exchD.Broken = broken; exchD.Exchangepartheader = exchH; exchD.Partcodem = item["SpareNumber"].ToString(); exchD.Partcodeo = item["SpareNumber"].ToString(); exchD.Partqtym = Convert.ToInt32(item["Quantity"].ToString()); exchD.Partqtyo = exchD.Partqtym; //exchD.Serialnumber = ((item["SerialNumber"] == null) || (item["SerialNumber"].ToString().Trim() == "")) ? "�" : item["SerialNumber"].ToString(); exchD.Serialnumber = item["SerialNumber"].ToString(); exchD.Unitpricem = price; exchD.Unitpriceo = price; long.TryParse(item["FeeAmount"].ToString(), out price); exchD.Totalfeem = price; exchD.Totalfeeo = price; try { dao.SaveOrUpdate(exchD); } catch { return WarrantyContentErrorCode.SaveDetailFailed; } return WarrantyContentErrorCode.OK; }
protected void btnAddExchange_Click(object sender, EventArgs e) { bool initDataOk = true; DateTime dt; long km; // validate data //hdEngineNumber.Value = txtEngineNo.Text.Trim(); if (_custInfo == null) { rqvCustName.IsValid = false; initDataOk = false; } if (string.IsNullOrEmpty(hdEngineNumber.Value)) { rqvEngineNumber.IsValid = false; initDataOk = false; } if (string.IsNullOrEmpty(txtRepairDate.Text)) { rqvRepairDate.IsValid = false; initDataOk = false; } if (string.IsNullOrEmpty(txtBuyDate.Text)) { rqvBuydate.IsValid = false; initDataOk = false; } if (!long.TryParse(txtKm.Text, out km)) { rgvKm.IsValid = false; initDataOk = false; } if (!(requireCheckWarrantyToAddPCV && CheckServiceTypeForPVC(GetSelectedServices()))) { AddError(WarrantyContentErrorCode.InvalidServiceType); initDataOk = false; } if (!initDataOk) return; string strEngNo = hdEngineNumber.Value.Trim().ToUpper(); // input data ok => show addExchange form SetAvtiveView(vwAddExchangeIndex); _addExchange = true; if (_exchangeHeader == null) { _exchangeHeader = new Exchangepartheader(); _exchangeHeader.Damageddate = DateTime.Now; if (_dtVehicleMadedate > DateTime.MinValue) { _exchangeHeader.Exportdate = _dtVehicleMadedate; } else { Iteminstance item = AddExchange.GetItemInstance(strEngNo); if (item != null) _exchangeHeader.Exportdate = item.Madedate; } AddExchange1.ClearForm(); } _exchangeHeader.Customer = _custInfo; if (DateTime.TryParse(txtBuyDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt)) _exchangeHeader.Purchasedate = dt; if (DateTime.TryParse(txtRepairDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt)) _exchangeHeader.Exchangeddate = dt; if (showTempSheetNo) _exchangeHeader.Vouchernumber = AddExchange.GenExchangeNumber(CurrentDealer); _exchangeHeader.Enginenumber = strEngNo; _exchangeHeader.Framenumber = txtFrameNumber.Text.Trim().ToUpper(); _exchangeHeader.Kmcount = km; _exchangeHeader.Model = txtModel.Text.Trim().ToUpper(); _exchangeHeader.Dealercode = CurrentDealer; AddExchange1.ExchangeHeader = _exchangeHeader; AddExchange1.InitUC(); }
public static WarrantyContentErrorCode SaveExchDetail(DataRow item, Exchangepartheader exchH) { IDao<Exchangepartdetail, long> dao = DaoFactory.GetDao<Exchangepartdetail, long>(); IDao<Broken, long> daoB = DaoFactory.GetDao<Broken, long>(); return SaveExchDetail(item, exchH, dao, daoB); }
public static List<Exchangepartdetail> GetExPartDetailByExPartHeader(Exchangepartheader eph) { List<Exchangepartdetail> list = new List<Exchangepartdetail>(); IDao<Exchangepartdetail, long> daoEpd = DaoFactory.GetDao<Exchangepartdetail, long>(); daoEpd.SetCriteria(new ICriterion[] { Expression.Eq("Exchangepartheader", eph) }); list = daoEpd.GetAll(); return list; }
public static WarrantyContentErrorCode SaveExchHeader(Exchangepartheader exchH, Serviceheader serH) { return SaveExchHeader((ServiceStatus)exchH.Status, null, null, exchH, serH, -1); }
public static WarrantyContentErrorCode SaveExchHeader(ServiceStatus status, string area, string dealer, Exchangepartheader exchH, Serviceheader serH, long totalFee) { if (exchH == null) return WarrantyContentErrorCode.SaveExchHeaderFailed; IDao<Exchangepartheader, long> dao = DaoFactory.GetDao<Exchangepartheader, long>(); //Exchangepartheader exchH = dao.GetById(eH.Id, true); //if (exchH == null) exchH = eH; try { if (serH != null) exchH.Serviceheader = serH; exchH.Customer = serH.Customer; exchH.Enginenumber = serH.Enginenumber; exchH.Framenumber = serH.Framenumber; if (!string.IsNullOrEmpty(area)) exchH.Areacode = area; if (!string.IsNullOrEmpty(dealer)) exchH.Dealercode = dealer; exchH.Status = (status != ServiceStatus.Temp) ? (int)ExchangeVoucherStatus.New : (int)ExchangeVoucherStatus.Temp; exchH.Vouchernumber = GenExchangeNumber(status == ServiceStatus.Temp, exchH.Dealercode); if (totalFee >= 0) { exchH.Feeamount = totalFee; } exchH.Proposefeeamount = exchH.Feeamount; dao.SaveOrUpdateCopy(exchH); } catch { return WarrantyContentErrorCode.SaveExchHeaderFailed; } //exchH.Vouchernumber = exchH.Vouchernumber; return WarrantyContentErrorCode.OK; }
public static WarrantyContentErrorCode SaveExchHeader(string area, string dealer, Exchangepartheader exchH, Serviceheader serH, long totalFee) { return SaveExchHeader(ServiceStatus.Done, area, dealer, exchH, serH, totalFee); }
public static WarrantyContentErrorCode SaveExchDetails(IList exDetail, Exchangepartheader eH) { IDao<Exchangepartdetail, long> dao = DaoFactory.GetDao<Exchangepartdetail, long>(); try { foreach (PCVItem item in exDetail) { if ((item.State == ServiceItemState.Transient) || item.HasModified || (item.Exchangepartheader == null) || (item.Exchangepartheader.Id != eH.Id)) { Exchangepartdetail ed = item.Base(); dao.SaveOrUpdateCopy(ed); } } } catch { return WarrantyContentErrorCode.SaveDetailFailed; } return WarrantyContentErrorCode.OK; }
public static WarrantyContentErrorCode SaveExchDetails(DataTable exchDetail, Exchangepartheader exchH) { IDao<Exchangepartdetail, long> dao = DaoFactory.GetDao<Exchangepartdetail, long>(); IDao<Broken, long> daoB = DaoFactory.GetDao<Broken, long>(); foreach (DataRow row in exchDetail.Rows) { if (SaveExchDetail(row, exchH, dao, daoB) != WarrantyContentErrorCode.OK) return WarrantyContentErrorCode.SaveDetailFailed; } return WarrantyContentErrorCode.OK; }
protected void btnSave_Click(object sender, EventArgs e) { if (_saved) // add new sheet { _finish = false; _saveTemp = false; _exchSaved = false; _canChangeBuyDate = true; _editSheetId = 0; _exchangeHeader = null; _feeAmount = "0"; txtEngineNo.Text = ""; btnSaveTemp.Enabled = true; CheckFinish(); ClearForm(); } else // save this sheet { if (!SaveSheet(ServiceStatus.Done)) return; btnCalculate.Enabled = false; btnSaveTemp.Enabled = false; } _saved = !_saved; }
public void CollectData() { DateTime dt; long km; int road, weather, usage, speed; if (ExchangeHeader == null) ExchangeHeader = new Exchangepartheader(); ExchangeHeader.Areacode = UserHelper.AreaCode; ExchangeHeader.Comments = txtexNote.Text.Trim(); if ((ExchangeHeader.Customer == null) && (Cust != null)) ExchangeHeader.Customer = Cust; ExchangeHeader.Damaged = txtexDamage.Text.Trim(); DateTime.TryParse(txtexDamagedDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt); ExchangeHeader.Damageddate = dt; ExchangeHeader.Electric = txtexElectricalDmg.Text.Trim(); ExchangeHeader.Engine = txtexEngineDmg.Text.Trim(); ExchangeHeader.Enginenumber = txtexEngineNumber.Text.Trim().ToUpper(); DateTime.TryParse(txtexRepairDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt); ExchangeHeader.Exchangeddate = dt; DateTime.TryParse(txtexExportDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt); ExchangeHeader.Exportdate = dt; ExchangeHeader.Feeamount = gvexSpareList.SumBy("FeeAmount"); ExchangeHeader.Frame = txtexFrameDmg.Text.Trim(); ExchangeHeader.Framenumber = txtexFrameNum.Text.Trim().ToUpper(); long.TryParse(txtexKm.Text, out km); ExchangeHeader.Kmcount = km; ExchangeHeader.Model = txtexModel.Text.Trim().ToUpper(); DateTime.TryParse(txtexBuyDate.Text, Thread.CurrentThread.CurrentCulture, DateTimeStyles.AllowWhiteSpaces, out dt); ExchangeHeader.Purchasedate = dt; ExchangeHeader.Reason = txtexReason.Text.Trim(); int.TryParse(rblRoad.SelectedValue, out road); ExchangeHeader.Road = road; int.TryParse(rblSpeed.SelectedValue, out speed); ExchangeHeader.Speed = speed; int.TryParse(rblWeather.SelectedValue, out weather); ExchangeHeader.Weather = weather; int.TryParse(rblTransport.SelectedValue, out usage); ExchangeHeader.Usage = usage; //ExchangeHeader.Vouchernumber = AddExchange.GenExchangeNumber(txtexDealer.Text); }
protected override void LoadControlState(object state) { if (state != null) { object[] ctlState = (object[])state; base.LoadControlState(ctlState[0]); _showSumary = (bool)ctlState[1]; _feeAmount = (string)ctlState[2]; _custInfo = (Customer)ctlState[3]; _exchangeNumber = (string)ctlState[4]; _finish = (bool)ctlState[5]; _saved = (bool)ctlState[6]; _addExchange = (bool)ctlState[7]; _exchangeHeader = (Exchangepartheader)ctlState[8]; _isVehicleOnTiptop = (bool)ctlState[9]; _sVehicleType = (string)ctlState[10]; _sVehileColor = (string)ctlState[11]; _sVehicleDealer = (string)ctlState[12]; _dtVehicleMadedate = (DateTime)ctlState[13]; _editSheetId = (long)ctlState[14]; _saveTemp = (bool)ctlState[15]; _exchSaved = (bool)ctlState[16]; _canChangeBuyDate = (bool)ctlState[17]; _itemExist = (bool)ctlState[18]; _sVehicleDB = (string)ctlState[19]; } }
public static VerifyExchangeErrorCode CanVerifyExchangePartHeader(Exchangepartheader exch, ExchangeVoucherStatus status) { VerifyExchangeErrorCode result = VerifyExchangeErrorCode.OK; switch (status) { case ExchangeVoucherStatus.Reject: result = VerifyExchangeErrorCode.CommentIsBlank; // chang may khong co part nao coi nhu ko dc verify IList<Exchangepartdetail> items = ExchangePartDetailDataSource.GetByExchangeHeader(exch.Id); foreach (Exchangepartdetail item in items) { if (!string.IsNullOrEmpty(item.Vmepcomment)) { result = VerifyExchangeErrorCode.OK; break; } } break; default: break; } return result; }