private void NewProc_Click(object sender, EventArgs e) { //MessageBox.Show(DateTime.Parse(DayBox.SelectedItem.ToString()).Year.ToString()); //MessageBox.Show(DateTime.Parse(DayBox.SelectedItem.ToString()).Month.ToString()); //MessageBox.Show(DateTime.Parse(DayBox.SelectedItem.ToString()).Day.ToString()); DateTime day = new DateTime(DateTime.Parse(DayBox.SelectedItem.ToString()).Year, DateTime.Parse(DayBox.SelectedItem.ToString()).Month, DateTime.Parse(DayBox.SelectedItem.ToString()).Day); DateTime time = new DateTime(1, 1, 1, TimeSpan.Parse(TimeBox.SelectedItem.ToString()).Hours, TimeSpan.Parse(TimeBox.SelectedItem.ToString()).Minutes, TimeSpan.Parse(TimeBox.SelectedItem.ToString()).Seconds); //MessageBox.Show(day.ToString()); //MessageBox.Show(time.ToString()); ProcModel procmodel = new ProcModel(); FreeTimeModel freetimemodel = new FreeTimeModel(); freetimemodel.Day = day; freetimemodel.Time = time; freetimemodel.Personal_Id = usercollection[DoctorBox.SelectedIndex].Id; freetimemodel.Id = freetime.Get_Item(freetimemodel.Day, freetimemodel.Time, freetimemodel.Personal_Id).Id; procmodel.Client_Id = Id; procmodel.Personal_Id = usercollection[DoctorBox.SelectedIndex].Id; procmodel.Proc_Type_Id = proctype.Get_Item("Name", ProcTypeBox.SelectedItem.ToString(), ConditionType.Equal).Id; procmodel.Date_Id = date.SwapFreeTime(freetimemodel); //MessageBox.Show(procmodel.ToString()); proc.Add(procmodel); MessageBox.Show("Сохранено"); back.Show(); this.Close(); }
/// <summary> /// Получить элемент по заданным параметрам /// </summary> /// <returns></returns> public ProcModel Get_Item(string field, string value, ConditionType type) { FilterCondition filter = new FilterCondition(field, value, type); using (var db = new MainDb()) { var query = MakeSelect(db); if (filter != null) { if (filter.Field.Equals("Id", StringComparison.CurrentCultureIgnoreCase) && filter.Value != null) { if (filter.Type == ConditionType.Equal) { query = query.Where(q => q.Id.Equals(filter.Value)); } } if (filter.Field.Equals("Date_Id", StringComparison.CurrentCultureIgnoreCase) && filter.Value != null) { if (filter.Type == ConditionType.Equal) { query = query.Where(q => q.Date_Id.Equals(filter.Value)); } } if (filter.Field.Equals("Personal_Id", StringComparison.CurrentCultureIgnoreCase) && filter.Value != null) { if (filter.Type == ConditionType.Equal) { query = query.Where(q => q.Personal_Id.Equals(filter.Value)); } } } ProcModel Result = new ProcModel(); try { Result = query.Single(); return(Result); } catch { ProcModel NullResult = new ProcModel(); NullResult.Id = 0; NullResult.Date_Id = 0; NullResult.Personal_Id = 0; NullResult.Client_Id = 0; NullResult.Client_Id = 0; return(NullResult); } } }
public long Add(ProcModel model) { //TODO: валидация модели //Сохранение using (var db = new MainDb()) { long id = Convert.ToInt64(db.Proc.InsertWithIdentity(() => new Kpo.Dal.MainDb.ProcDataModel { Client_Id = model.Client_Id, Proc_Type_Id = model.Proc_Type_Id, Personal_Id = model.Personal_Id, Date_Id = model.Date_Id })); return(id); } }
public string ApplyTemplate(ProcModel procedure) { _fileName = procedure.Name; StringBuilder ret = new StringBuilder(); StringBuilder procedureParameters = new StringBuilder(); string[] ignorParameters = new string[] { "@abrirtransacao", "@debug" }; string methodParameters = ""; string codigoRetorno = ""; string descricaoRetorno = ""; bool hasOutputParameters = false; foreach (ParameterModel param in procedure.Parameters) { if (ignorParameters.Contains(param.Name.ToLower()) == false) { if (param.DataType == "string") { procedureParameters.AppendLine("\tif( string.isNullOrEmpty(" + param.Name.Replace("@", "") + ") == false )"); procedureParameters.AppendLine("\t\tcmd.Parameters.Add(new SqlParameter(\"" + param.Name + "\", " + param.Name.Replace("@", "") + ") {Size = " + param.Size + ", Precision = " + param.Precision + ", Direction = " + (param.IsOutput ? "ParameterDirection.InputOutput" : "ParameterDirection.Input") + "});"); } else if (param.IsNullable) { procedureParameters.AppendLine("\tif( " + param.Name.Replace("@", "") + ".HasValue )"); procedureParameters.AppendLine("\t\tcmd.Parameters.Add(new SqlParameter(\"" + param.Name + "\", " + param.Name.Replace("@", "") + ".Value) {Size = " + param.Size + ", Precision = " + param.Precision + ", Direction = " + (param.IsOutput ? "ParameterDirection.InputOutput" : "ParameterDirection.Input") + "});"); } else { procedureParameters.AppendLine("\t\tcmd.Parameters.Add(new SqlParameter(\"" + param.Name + "\", " + param.Name.Replace("@", "") + ") {Size = " + param.Size + ", Precision = " + param.Precision + ", Direction = " + (param.IsOutput ? "ParameterDirection.InputOutput" : "ParameterDirection.Input") + "});"); } if (param.Name.ToLower() == "@codigoretorno") { codigoRetorno = param.Name; hasOutputParameters = true; } if (param.Name.ToLower() == "@descricaoretorno") { descricaoRetorno = param.Name; hasOutputParameters = true; } if ((param.IsOutput == false || procedure.ReturnTable) && (param.Name.ToLower() != "@codigoretorno" && param.Name.ToLower() != "@descricaoretorno")) { methodParameters += methodParameters.Length == 0 ? "" : ", "; if (param.IsOutput) { methodParameters += "out "; } methodParameters += param.DataType + " " + param.Name.Replace("@", "") + " " + (param.IsNullable ? " = null " : ""); } } } if (procedure.ReturnTable) { if (hasOutputParameters) { ret.AppendLine("public OutputTransport<DataTable> " + procedure.Name + "(" + methodParameters + ")"); } else { ret.AppendLine("public DataTable " + procedure.Name + "(" + methodParameters + ")"); } ret.AppendLine("{"); ret.AppendLine("\tDataTable tmp = new DataTable();"); ret.AppendLine("\tSqlCommand cmd = this.Connection.CreateCommand();"); ret.AppendLine("\tcmd.CommandText = \"" + procedure.Name + "\";"); ret.AppendLine("\tcmd.CommandType = CommandType.StoredProcedure;"); ret.Append(procedureParameters); ret.AppendLine("\t"); ret.AppendLine("\tusing (SqlDataReader dr = cmd.ExecuteReader())"); ret.AppendLine("\t{"); ret.AppendLine("\t\tret = new DataTable();"); ret.AppendLine("\t\tret.Load(tmp);"); ret.AppendLine("\t}"); if (hasOutputParameters) { ret.AppendLine("\tOutputTransport<DataTable> ret = new OutputTransport<DataTable>();"); ret.AppendLine("\tret.Data = tmp;"); ret.AppendLine("\tret.Code = cmd.Parameters[\"" + codigoRetorno + "\"].Value == DBNull.Value ? 0 : Convert.ToInt32(cmd.Parameters[\"" + codigoRetorno + "\"].Value);"); ret.AppendLine("\tret.Message = cmd.Parameters[\"" + descricaoRetorno + "\"].Value == DBNull.Value ? \"\" : cmd.Parameters[\"" + descricaoRetorno + "\"].Value.ToString();"); ret.AppendLine("\treturn ret;"); } else { ret.AppendLine("\treturn tmp;"); } ret.AppendLine("}"); } else { if (hasOutputParameters) { ret.AppendLine("public OutputTransport<string> " + procedure.Name + "(" + methodParameters + ")"); ret.AppendLine("{"); ret.AppendLine("\tOutputTransport<string> ret = new OutputTransport<string>();"); ret.AppendLine("\tSqlCommand cmd = this.Connection.CreateCommand();"); ret.AppendLine("\tcmd.CommandText = \"" + procedure.Name + "\";"); ret.AppendLine("\tcmd.CommandType = CommandType.StoredProcedure;"); ret.Append(procedureParameters); ret.AppendLine("\t"); ret.AppendLine("\tcmd.ExecuteNonQuery();"); ret.AppendLine("\tret.Code = cmd.Parameters[\"" + codigoRetorno + "\"].Value == DBNull.Value ? 0 : Convert.ToInt32(cmd.Parameters[\"" + codigoRetorno + "\"].Value);"); ret.AppendLine("\tret.Message = cmd.Parameters[\"" + descricaoRetorno + "\"].Value == DBNull.Value ? \"\" : cmd.Parameters[\"" + descricaoRetorno + "\"].Value.ToString();"); ret.AppendLine("\treturn ret;"); ret.AppendLine("}"); } else { ret.AppendLine("public void " + procedure.Name + "(" + methodParameters + ")"); ret.AppendLine("{"); ret.AppendLine("\tSqlCommand cmd = this.Connection.CreateCommand();"); ret.AppendLine("\tcmd.CommandText = \"" + procedure.Name + "\";"); ret.AppendLine("\tcmd.CommandType = CommandType.StoredProcedure;"); ret.Append(procedureParameters); ret.AppendLine("\t"); ret.AppendLine("\tcmd.ExecuteNonQuery();"); ret.AppendLine("}"); } } return(ret.ToString()); }
//rewrite private void MenuItem_Click(object sender, RoutedEventArgs e) { procModel = new ProcModel(Nodes.ToList(), Rods.ToList(), TypeRigidSupp); string result = ""; for (int i = 0; i < procModel.matrixA.Count; i++) { for (int j = 0; j < procModel.matrixA.Count; j++) { result += " " + procModel.matrixA[i][j].ToString(); } result += "\n"; } txtBox.Document.Blocks.Clear(); txtBox.AppendText(result); string vecReactRes = ""; foreach (var element in procModel.vectorReaction) { vecReactRes += element + " "; } string vecMovement = ""; foreach (var element in procModel.vectorMovement) { vecMovement += element + " "; } string vecNullN = ""; foreach (var element in procModel.vectorFromNullN) { vecNullN += element + " "; } string vecLengthN = ""; foreach (var element in procModel.vectorFromLengthN) { vecLengthN += element + " "; } string vecNullU = ""; foreach (var element in procModel.vectorFromNullU) { vecNullU += element + " "; } string vecLengthU = ""; foreach (var element in procModel.vectorFromLengthU) { vecLengthU += element + " "; } string vecNullNormStress = ""; foreach (var element in procModel.vectorFromNullNormStress) { vecNullNormStress += element + " "; } string vecLengthNormStress = ""; foreach (var element in procModel.vectorFromLengthNormStress) { vecLengthNormStress += element + " "; } txtBox.AppendText("\n" + vecReactRes + " -React vector" + "\n" + vecMovement + " -Movement vector" + "\n" + vecLengthN + " -Vector N(L)" + "\n" + vecNullN + " -Vector N(0)" + "\n" + vecNullU + " -Vector U(0)" + "\n" + vecLengthU + " VectorU(L)" + "\n" + vecNullNormStress + " -Vector normal stress(0)" + "\n" + vecLengthNormStress + " -Vector normal stress(L)"); }