public ValueObject Execute(TransactionContext trxContext, ValueObject vo) { List <ValueObject> inList = ((ValueObjectList <ValueObject>)vo).GetList(); MoldVo moldInVo = (MoldVo)inList.FirstOrDefault(); ProcessWorkMoldVo processWorkMoldInVo = (ProcessWorkMoldVo)inList.Skip(1).FirstOrDefault(); MoldVo moldOutVo = (MoldVo)addGetMoldIdMasterMntCbm.Execute(trxContext, moldInVo); if (moldOutVo != null && moldOutVo.MoldId > 0) { processWorkMoldInVo.MoldId = moldOutVo.MoldId; foreach (ProcessWorkMoldVo processid in processWorkMoldInVo.ProcessWorkMoldListVo) { processWorkMoldInVo.ProcessWorkId = processid.ProcessWorkId; ProcessWorkMoldVo processWorkMoldoutVo = (ProcessWorkMoldVo)addProcessWorkMoldMasterMntCbm.Execute(trxContext, processWorkMoldInVo); } } return(moldOutVo); }
private void Save_btn_Click(object sender, EventArgs e) { if (Mold_dgv.RowCount > 0 && Mold_dgv.Columns["colRemarks"].Visible == true) { if (processWorkList.Count == 0) { GetProcessWork(); } this.StartProgress(Properties.Resources.mmci00009); string previousMoldCode = string.Empty; int uploadedCount = 0; int insertedCount = 0; MoldVo checkInVo = new MoldVo(); ProcessWorkMoldVo processWorkMoldInVo = new ProcessWorkMoldVo(); decimal width = 0; decimal depth = 0; decimal height = 0; decimal weight = 0; DateTime productionDate; int lifeShotCount = 0; foreach (DataRow row in excelUploadDt.Rows) { if (!string.IsNullOrEmpty(row["MoldCode"].ToString()) && previousMoldCode != row["MoldCode"].ToString()) { checkInVo = new MoldVo(); processWorkMoldInVo = new ProcessWorkMoldVo(); checkInVo.MoldCode = row["MoldCode"].ToString(); checkInVo.MoldName = row["MoldName"].ToString(); if (row["MoldTypeCode"] != null && !string.IsNullOrWhiteSpace(row["MoldTypeCode"].ToString())) { checkInVo.MoldTypeCode = row["MoldTypeCode"].ToString(); } if (row["Width"] != null && !string.IsNullOrWhiteSpace(row["Width"].ToString()) && Decimal.TryParse(row["Width"].ToString(), out width)) { checkInVo.Width = width; } if (row["Depth"] != null && !string.IsNullOrWhiteSpace(row["Depth"].ToString()) && Decimal.TryParse(row["Depth"].ToString(), out depth)) { checkInVo.Depth = depth; } if (row["Height"] != null && !string.IsNullOrWhiteSpace(row["Height"].ToString()) && Decimal.TryParse(row["Height"].ToString(), out height)) { checkInVo.Height = height; } if (row["Weight"] != null && !string.IsNullOrWhiteSpace(row["Weight"].ToString()) && Decimal.TryParse(row["Weight"].ToString(), out weight)) { checkInVo.Weight = weight; } if (row["ProductionDate"] != null && !string.IsNullOrWhiteSpace(row["ProductionDate"].ToString()) && DateTime.TryParse(row["ProductionDate"].ToString(), out productionDate)) { checkInVo.ProductionDate = productionDate; } if (row["LifeShotCount"] != null && !string.IsNullOrWhiteSpace(row["LifeShotCount"].ToString()) && int.TryParse(row["LifeShotCount"].ToString(), out lifeShotCount)) { checkInVo.LifeShotCount = lifeShotCount; } if (row["Comments"] != null && !string.IsNullOrWhiteSpace(row["Comments"].ToString())) { checkInVo.Comment = row["Comments"].ToString(); } uploadedCount += 1; DataRow[] processWorkCodeList = excelUploadDt.Select("MoldCode = '" + checkInVo.MoldCode + "'"); foreach (DataRow item in processWorkCodeList) { ProcessWorkMoldVo addVo = new ProcessWorkMoldVo(); if (processWorkList.Where(t => t.ProcessWorkCode == item["ProcessWorkCode"].ToString()).FirstOrDefault() != null) { addVo.ProcessWorkId = processWorkList.Where(t => t.ProcessWorkCode == item["ProcessWorkCode"].ToString()).FirstOrDefault().ProcessWorkId; } processWorkMoldInVo.ProcessWorkMoldListVo.Add(addVo); } ValueObjectList <ValueObject> inVoList = new ValueObjectList <ValueObject>(); inVoList.add(checkInVo); inVoList.add(processWorkMoldInVo); MoldVo outVo = null; try { //outVo = (MoldVo)base.InvokeCbm(new AddMoldMasterMntAndProcessworkCbm(), inVoList, false); } catch (Framework.ApplicationException exception) { this.CompleteProgress(); popUpMessage.ApplicationError(exception.GetMessageData(), Text); logger.Error(exception.GetMessageData()); return; } if (outVo != null && outVo.AffectedCount > 0) { insertedCount += outVo.AffectedCount; } } previousMoldCode = row["MoldCode"].ToString(); } this.CompleteProgress(); if (insertedCount > 0 && uploadedCount > 0 && insertedCount == uploadedCount) { messageData = new MessageData("mmci00010", Properties.Resources.mmci00010, null); logger.Info(messageData); popUpMessage.Information(messageData, Text); GridBind(FormConditionVo()); } } }
public override ValueObject Execute(TransactionContext trxContext, ValueObject vo) { ProcessWorkMoldVo inVo = (ProcessWorkMoldVo)vo; StringBuilder sqlQuery = new StringBuilder(); sqlQuery.Append("Select"); sqlQuery.Append(" pwm.process_work_mold_id,"); sqlQuery.Append(" pwm.process_work_id,"); sqlQuery.Append(" pwm.mold_id,"); sqlQuery.Append(" m.mold_name,"); sqlQuery.Append(" pw.process_work_name"); sqlQuery.Append(" from m_gtrs_process_work_mold pwm"); sqlQuery.Append(" inner join m_process_work pw on pwm.process_work_id = pw.process_work_id"); sqlQuery.Append(" inner join m_mold m on pwm.mold_id = m.mold_id"); sqlQuery.Append(" where 1 = 1 "); if (inVo.MoldId > 0) { sqlQuery.Append(" and pwm.mold_id = :moldid"); } if (inVo.ProcessWorkId > 0) { sqlQuery.Append(" and pwm.process_work_id = :processworkid"); } //create command DbCommandAdaptor sqlCommandAdapter = base.GetDbCommandAdaptor(trxContext, sqlQuery.ToString()); //create parameter DbParameterList sqlParameter = sqlCommandAdapter.CreateParameterList(); if (inVo.MoldId > 0) { sqlParameter.AddParameterInteger("moldid", inVo.MoldId); } if (inVo.ProcessWorkId > 0) { sqlParameter.AddParameterInteger("processworkid", inVo.ProcessWorkId); } //execute SQL IDataReader dataReader = sqlCommandAdapter.ExecuteReader(trxContext, sqlParameter); ProcessWorkMoldVo outVo = new ProcessWorkMoldVo(); while (dataReader.Read()) { ProcessWorkMoldVo currVo = new ProcessWorkMoldVo { ProcessWorkId = Convert.ToInt32(DBDataCheckHelper.ConvertDBNullToStringNull(dataReader["process_work_id"])), MoldId = Convert.ToInt32(dataReader["mold_id"]), MoldName = dataReader["mold_name"].ToString(), ProcessWorkName = dataReader["process_work_name"].ToString(), ProcessWorkMoldId = Convert.ToInt32(dataReader["process_work_mold_id"]), }; outVo.ProcessWorkMoldListVo.Add(currVo); } dataReader.Close(); return(outVo); }
/// <summary> /// Upload mold master excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Upload_btn_Click(object sender, EventArgs e) { OpenFileDialog openDialog_dlg = new OpenFileDialog(); openDialog_dlg.Filter = "Excel Files(*.xls) |*.xls"; if (openDialog_dlg.ShowDialog() == DialogResult.OK) { this.StartProgress(Properties.Resources.mmci00009); try { excelUploadDt = new ExcelUpload().ReadExcel(openDialog_dlg.FileName, Properties.Settings.Default.EXCEL_SHEET_MOLD); } catch (Framework.ApplicationException exception) { this.CompleteProgress(); popUpMessage.ApplicationError(exception.GetMessageData(), Text); logger.Error(exception.GetMessageData()); return; } MoldVo checkInVo = new MoldVo(); ProcessWorkMoldVo processWorkMoldInVo = new ProcessWorkMoldVo(); Mold_dgv.DataSource = null; excelUploadDt.Columns.Add("Remarks"); excelUploadDt.Columns.Add("Comment"); var sch = StringCheckHelper.GetInstance(); bool inputDataNG = false; foreach (DataRow row in excelUploadDt.Rows) { if (row["Comments"] != null && !string.IsNullOrWhiteSpace(row["Comments"].ToString())) { row["Comment"] = row["Comments"].ToString(); } if (row["MoldCode"] == null || string.IsNullOrWhiteSpace(row["MoldCode"].ToString())) { row["Remarks"] = string.Format(Properties.Resources.mmce00011, MoldCode_lbl.Text); inputDataNG = true; continue; } if (!sch.IsASCII(row["MoldCode"].ToString())) { row["Remarks"] = string.Format(Properties.Resources.mmci00017, MoldCode_lbl.Text); inputDataNG = true; continue; } var duplicates = excelUploadDt.AsEnumerable().GroupBy(r => r["MoldCode"]).Where(gr => gr.Count() > 1).ToList(); if (duplicates.Any() && duplicates.Select(dupl => dupl.Key).ToList().FirstOrDefault().ToString() == row["MoldCode"].ToString()) { row["Remarks"] = string.Format(Properties.Resources.mmce00009, MoldCode_lbl.Text + " : " + row["MoldCode"].ToString()); inputDataNG = true; continue; } if (row["MoldName"] == null || string.IsNullOrWhiteSpace(row["MoldName"].ToString())) { row["Remarks"] = string.Format(Properties.Resources.mmci00017, MoldName_lbl.Text); inputDataNG = true; continue; } checkInVo = new MoldVo(); processWorkMoldInVo = new ProcessWorkMoldVo(); checkInVo.MoldCode = row["MoldCode"].ToString(); checkInVo.MoldName = row["MoldName"].ToString(); if (!ValidateProcessWorkCodeInExcel(excelUploadDt, checkInVo.MoldCode)) { row["Remarks"] = string.Format(Properties.Resources.mmci00019); inputDataNG = true; continue; } MoldVo checkVo = DuplicateCheck(checkInVo); if (checkVo != null && checkVo.AffectedCount > 0) { row["Remarks"] = string.Format(Properties.Resources.mmce00012, MoldCode_lbl.Text + " : " + checkInVo.MoldCode); inputDataNG = true; continue; } } Mold_dgv.AutoGenerateColumns = false; isExcelUpload = true; Mold_dgv.Columns["colRemarks"].Visible = true; Mold_dgv.DataSource = excelUploadDt; if (inputDataNG) { Save_btn.Enabled = false; } else { Save_btn.Enabled = true; } this.CompleteProgress(); } }