예제 #1
0
파일: PlanEntry.cs 프로젝트: swanestle/iXY
 public PlanEntry(IUnityContainer container, UIState state, Plan plan)
     : this()
 {
     this.container = new PlanContainer(container, state, plan);
     binding = new BindingSource();
     binding.AddingNew += Binding_AddingNew;
 }
예제 #2
0
 public PlanContainer(IUnityContainer container, UIState state, long id)
     : this(container, state)
 {
     if (state == UIState.New)
     {
         Entity = new Plan();
     }
     else
     {
         QueryPlanById(id);
     }
 }
예제 #3
0
 public PlanContainer(IUnityContainer container, UIState state, Plan plan)
     : this(container, state)
 {
     if (state == UIState.New)
     {
         Entity = new Plan();
     }
     else
     {
         this.Entity = plan;
     }
 }
예제 #4
0
        public bool Add(Plan t)
        {
            PlanHeader header = t.Header;
            IList<PlanLine> lines = t.Lines;

            header.CreatedBy = "admin";
            header.UpdatedBy = "admin";
            header.CreatedDateTime = DateTime.Now;
            header.UpdatedDateTime = DateTime.Now;

            IDALT dbHelper2 = containier.Resolve<IDALT>();

            try
            {

                dbHelper2.Open();

                SQLiteParameter[] parameters = new SQLiteParameter[]{
                        new SQLiteParameter("@PRODUCTID",header.ProductId),
                        new SQLiteParameter("@ORDERQUANTITY",header.OrderQuantity),
                        new SQLiteParameter("@DAILYCAPACITYPERONE",header.DailyCapacityPerOne),
                        new SQLiteParameter("@ASSIGNEDCOUNT",header.AssignedCount),
                        new SQLiteParameter("@STARTEDDATE",header.StartedDate),
                        new SQLiteParameter("@PLANNEDENDDATE",header.PlannedEndDate),
                        new SQLiteParameter("@ACTUALENDDATE",header.ActualEndDate),
                        new SQLiteParameter("@STATE",header.State),
                        new SQLiteParameter("@CREATEDBY",header.CreatedBy),
                        new SQLiteParameter("@UPDATEDBY",header.UpdatedBy),
                        new SQLiteParameter("@CREATEDDATETIME",header.CreatedDateTime),
                        new SQLiteParameter("@UPDATEDDATETIME",header.UpdatedDateTime)
                    };

                dbHelper2.BeginTransaction();

                header.Id = dbHelper2.ExecuteNonQueryWithReturningLastId(TableActionSQL.InsertPlanHeaderTable, parameters);

                foreach (PlanLine line in lines)
                {
                    line.CreatedBy = "admin";
                    line.UpdatedBy = "admin";
                    line.CreatedDateTime = header.CreatedDateTime;
                    line.UpdatedDateTime = header.UpdatedDateTime;
                    line.PlanId = header.Id;
                    SQLiteParameter[] lineParameters = new SQLiteParameter[]{
                        new SQLiteParameter("@PLANID",line.PlanId),
                        new SQLiteParameter("@MACHINEID",line.MachineId),
                        new SQLiteParameter("@STARTEDDATE",line.StartedDate),
                        new SQLiteParameter("@PLANNEDENDDATE",line.PlannedEndDate),
                        new SQLiteParameter("@ACTUALENDDATE",line.ActualEndDate),
                        new SQLiteParameter("@STATE",line.State),
                        new SQLiteParameter("@CREATEDBY",line.CreatedBy),
                        new SQLiteParameter("@UPDATEDBY",line.UpdatedBy),
                        new SQLiteParameter("@CREATEDDATETIME",line.CreatedDateTime),
                        new SQLiteParameter("@UPDATEDDATETIME",line.UpdatedDateTime)
                    };

                    line.Id = dbHelper2.ExecuteNonQueryWithReturningLastId(TableActionSQL.InsertPlanLineTable, lineParameters);
                }
                //SQLiteParameter parameterOutput = new SQLiteParameter("@ID");
                //parameterOutput.Direction = ParameterDirection.ReturnValue;
                //long lastId = dbHelper.ExecuteNonQueryWithReturningLastId(TableActionSQL.InsertProductTable, parameters);

                //t.Id = lastId;
                dbHelper2.CommitTransaction();
                //return lastId > 0;
                return true;
            }
            catch (SQLiteException se)
            {
                dbHelper2.RollBackTransaction();
                Trace.WriteLine(se.Message + " \n\n" + se.Source + "\n\n" + se.StackTrace + "\n\n" + se.Data);
                return false;
            }
            catch (ArgumentException ae)
            {
                dbHelper2.RollBackTransaction();
                Trace.WriteLine(ae.Message + " \n\n" + ae.Source + "\n\n" + ae.StackTrace + "\n\n" + ae.Data);
                return false;
            }
            catch (Exception ex)
            {
                dbHelper2.RollBackTransaction();
                //Do any logging operation here if necessary
                Trace.WriteLine(ex.Message + "\n\n" + ex.Source + "\n\n" + ex.StackTrace + "\n\n" + ex.Data);
                return false;
            }
            finally
            {
                dbHelper2.Close();
            }
        }
예제 #5
0
 public int Update(Plan t)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 public void QueryPlanById(long planId)
 {
     this.Entity = this.Service.QueryById(planId);
 }