private void SaveAs()
        {
            RecipeTemplate model = new RecipeTemplate();      //实例化一个新的model

            model.Name = _selectedItem._recipeTemplate.Name;
            //model.Current = _selectedItem._recipeTemplate.Current;
            //model.Temperature = _selectedItem._recipeTemplate.Temperature;
            foreach (var step in _selectedItem._recipeTemplate.StepV2s)
            {
                //var m = new StepV2(step.StepTemplate);
                var newstep = step.Clone();
                model.StepV2s.Add(newstep);
            }

            RecipeTemplateEditViewModel viewmodel =
                new RecipeTemplateEditViewModel(
                    model
                    );      //实例化一个新的view model

            //viewmodel.Id = _selectedItem.Id;
            viewmodel.DisplayName = "Recipe Template-Save As";
            viewmodel.commandType = CommandType.SaveAs;
            var RecipeViewInstance = new RecipeTemplateView();      //实例化一个新的view

            RecipeViewInstance.DataContext = viewmodel;
            RecipeViewInstance.ShowDialog();
            if (viewmodel.IsOK == true)
            {
                _recipeTemplateServcie.SuperAdd(model);
            }
        }
 public RecipeTemplateEditViewModel(
     RecipeTemplate RecipeTemplateModel
     )
 {
     _RecipeTemplate = RecipeTemplateModel;
     _RecipeTemplate.StepV2s.CollectionChanged += StepV2s_CollectionChanged;
 }
        private void Create()
        {
            RecipeTemplate model = new RecipeTemplate();      //实例化一个新的model
            RecipeTemplateEditViewModel viewmodel =
                new RecipeTemplateEditViewModel(
                    model
                    );      //实例化一个新的view model

            viewmodel.DisplayName = "Recipe Template-Create";
            viewmodel.commandType = CommandType.Create;
            var RecipeViewInstance = new RecipeTemplateView();      //实例化一个新的view

            RecipeViewInstance.DataContext = viewmodel;
            RecipeViewInstance.ShowDialog();                   //设置viewmodel属性
            if (viewmodel.IsOK == true)
            {
                //foreach (var step in model.Steps)
                //{
                //    int order = 1;
                //    step.Order = order++;
                //}

                _recipeTemplateServcie.SuperAdd(model);
            }
        }
        public readonly RecipeTemplate _recipeTemplate; //为了将其添加到Program里面去(见ProgramViewModel Add),不得不开放给viewmodel。以后再想想有没有别的办法。

        #endregion                                      // Fields

        #region Constructor

        public RecipeTemplateViewModel(RecipeTemplate RecipeTemplate)
        {
            _recipeTemplate = RecipeTemplate;
            _recipeTemplate.PropertyChanged += _RecipeTemplate_PropertyChanged;
            CreateSteps();
            //CreateProtections();
        }
Example #5
0
    protected void BtnUpdate_Click(object sender, EventArgs e)
    {
        int UpdateRow = 0, UpdateRowDtls = 0;

        try
        {
            if (ViewState["EditID"] != null)
            {
                Entity_Recipe.RecipeId = Convert.ToInt32(ViewState["EditID"]);
            }
            Entity_Recipe.MenuItem    = txtMenuName.Text.Trim();
            Entity_Recipe.AmtPerPlate = Convert.ToDecimal(txtAmtPerPlate.Text.Trim());

            Entity_Recipe.UserId    = Convert.ToInt32(Session["UserId"]);
            Entity_Recipe.LoginDate = DateTime.Now;

            UpdateRow = Obj_Recipe.UpdateRecord(ref Entity_Recipe, out StrError);

            if (UpdateRow > 0)
            {
                if (ViewState["CurrentTable"] != null)
                {
                    DataTable dtInsert = new DataTable();
                    dtInsert = (DataTable)ViewState["CurrentTable"];
                    for (int i = 0; i < dtInsert.Rows.Count; i++)
                    {
                        Entity_Recipe.ItemId = Convert.ToInt32(dtInsert.Rows[i]["ItemId"].ToString());

                        //---Split Quantity for qty and UnitId---
                        string   str     = dtInsert.Rows[i]["Quantity"].ToString();
                        String[] qtyUnit = str.Split('-');

                        Entity_Recipe.Qty        = Convert.ToDecimal(qtyUnit[0]);
                        Entity_Recipe.SubUnitId  = Convert.ToInt32(dtInsert.Rows[i]["SubUnitId"].ToString());
                        Entity_Recipe.IngredAmt  = Convert.ToDecimal(dtInsert.Rows[i]["IngredAmt"].ToString());
                        Entity_Recipe.ActualRate = Convert.ToDecimal(dtInsert.Rows[i]["ActualRate"].ToString());
                        Entity_Recipe.QtyPerUnit = Convert.ToDecimal(dtInsert.Rows[i]["QtyPerUnit"].ToString());

                        UpdateRowDtls = Obj_Recipe.InsertDetailsRecord(ref Entity_Recipe, out StrError);
                    }
                }
                if (UpdateRow > 0)
                {
                    obj_Comm.ShowPopUpMsg("Record Updated Successfully", this.Page);
                    MakeControlEmpty();
                    MakeEmptyForm();
                    Entity_Recipe = null;
                    Obj_Recipe    = null;
                }
            }
            else
            {
                obj_Comm.ShowPopUpMsg("Please Enter Details ..!", this.Page);
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }
Example #6
0
        public int InsertDetailsRecord(ref RecipeTemplate Entity_Recipe, out string strError)
        {
            int iInsert = 0;

            strError = string.Empty;
            try
            {
                SqlParameter pAction     = new SqlParameter(RecipeTemplate._Action, SqlDbType.BigInt);
                SqlParameter pRecipeId   = new SqlParameter(RecipeTemplate._RecipeId, SqlDbType.NVarChar);
                SqlParameter pItemId     = new SqlParameter(RecipeTemplate._ItemId, SqlDbType.Decimal);
                SqlParameter pQty        = new SqlParameter(RecipeTemplate._Qty, SqlDbType.Decimal);
                SqlParameter pSubUnitId  = new SqlParameter(RecipeTemplate._SubUnitId, SqlDbType.BigInt);
                SqlParameter pIngredAmt  = new SqlParameter(RecipeTemplate._IngredAmt, SqlDbType.Decimal);
                SqlParameter pActualRate = new SqlParameter(RecipeTemplate._ActualRate, SqlDbType.Decimal);
                SqlParameter pQtyPerUnit = new SqlParameter(RecipeTemplate._QtyPerUnit, SqlDbType.Decimal);

                pAction.Value     = 6;
                pRecipeId.Value   = Entity_Recipe.RecipeId;
                pItemId.Value     = Entity_Recipe.ItemId;
                pQty.Value        = Entity_Recipe.Qty;
                pSubUnitId.Value  = Entity_Recipe.SubUnitId;
                pIngredAmt.Value  = Entity_Recipe.IngredAmt;
                pActualRate.Value = Entity_Recipe.ActualRate;
                pQtyPerUnit.Value = Entity_Recipe.QtyPerUnit;


                SqlParameter[] Param = new SqlParameter[] { pAction, pRecipeId, pItemId, pQty, pSubUnitId, pIngredAmt, pActualRate, pQtyPerUnit };

                Open(CONNECTION_STRING);
                BeginTransaction();

                iInsert = SQLHelper.ExecuteNonQuery(_Connection, _Transaction, CommandType.StoredProcedure, RecipeTemplate.SP_RecipeTemplate, Param);

                if (iInsert > 0)
                {
                    CommitTransaction();
                }
                else
                {
                    RollBackTransaction();
                }
            }
            catch (Exception ex)
            {
                RollBackTransaction();
                strError = ex.Message;
            }
            finally
            {
                Close();
            }
            return(iInsert);
        }
Example #7
0
        public int UpdateRecord(ref RecipeTemplate Entity_Recipe, out string strError)
        {
            int iUpdate = 0;

            strError = string.Empty;
            try
            {
                SqlParameter pAction      = new SqlParameter(RecipeTemplate._Action, SqlDbType.BigInt);
                SqlParameter pRecipeId    = new SqlParameter(RecipeTemplate._RecipeId, SqlDbType.BigInt);
                SqlParameter pMenuItem    = new SqlParameter(RecipeTemplate._MenuItem, SqlDbType.NVarChar);
                SqlParameter pAmtPerPlate = new SqlParameter(RecipeTemplate._AmtPerPlate, SqlDbType.Decimal);

                SqlParameter pCreatedBy   = new SqlParameter(RecipeTemplate._UserId, SqlDbType.BigInt);
                SqlParameter pCreatedDate = new SqlParameter(RecipeTemplate._LoginDate, SqlDbType.DateTime);

                pAction.Value      = 2;
                pRecipeId.Value    = Entity_Recipe.RecipeId;
                pMenuItem.Value    = Entity_Recipe.MenuItem;
                pAmtPerPlate.Value = Entity_Recipe.AmtPerPlate;

                pCreatedBy.Value   = Entity_Recipe.UserId;
                pCreatedDate.Value = Entity_Recipe.LoginDate;

                SqlParameter[] Param = new SqlParameter[] { pAction, pRecipeId, pMenuItem, pAmtPerPlate, pCreatedBy, pCreatedDate };

                Open(CONNECTION_STRING);
                BeginTransaction();

                iUpdate = SQLHelper.ExecuteNonQuery(_Connection, _Transaction, CommandType.StoredProcedure, RecipeTemplate.SP_RecipeTemplate, Param);

                if (iUpdate > 0)
                {
                    CommitTransaction();
                }
                else
                {
                    RollBackTransaction();
                }
            }
            catch (Exception ex)
            {
                RollBackTransaction();
                strError = ex.Message;
            }
            finally
            {
                Close();
            }
            return(iUpdate);
        }
    public void PutRecipeInTemplate(Recipe recipeToPut, int indexInCanvas)
    {
        RecipeTemplate selectedRecipeTemplate = recipeTemplatesInCanvas[indexInCanvas];

        selectedRecipeTemplate.title.image.sprite = recipeToPut.partToRepair.brokenImage;
        selectedRecipeTemplate.title.text.sprite  = recipeToPut.partToRepair.titleImage;

        int i = 0;

        foreach (var step in recipeToPut.steps)
        {
            foreach (var stepObject in step.stepObjects)
            {
                print(stepObject.GetDefaultImage().name);
                selectedRecipeTemplate.stepImages[i].sprite = stepObject.GetDefaultImage();
                i++;
            }
        }
    }
Example #9
0
        private static RecipeTemplate BuildRecipeTemplateFromPseudocode(XElement xmlrecTemplate)
        {
            var recTemplate = new RecipeTemplate();

            recTemplate.Name = xmlrecTemplate.Attribute("Name").Value;

            var xmlprotections = xmlrecTemplate.Descendants("Protections").Elements();

            if (xmlprotections != null)
            {
                foreach (var xmlprotection in xmlprotections)
                {
                    var protection = new Protection();
                    protection.Parameter = GetParameterFromNode(xmlprotection.Attribute("Parameter").Value);
                    protection.Mark      = GetMarkFromNode(xmlprotection.Attribute("Mark").Value);
                    protection.Value     = Convert.ToInt32(xmlprotection.Attribute("Value").Value);
                    recTemplate.Protections.Add(protection);
                }
            }

            var xmlsteps = xmlrecTemplate.Descendants("Steps").Elements();

            if (xmlsteps != null)
            {
                foreach (var xmlstep in xmlsteps)
                {
                    var step = new StepV2();
                    step.Index      = GetIntergerFromNode(xmlstep, "Index");
                    step.Rest       = GetIntergerFromNode(xmlstep, "Rest");
                    step.Prerest    = GetIntergerFromNode(xmlstep, "Prerest");
                    step.Loop1Label = GetStringFromNode(xmlstep, "Loop1Label");
                    step.Loop2Label = GetStringFromNode(xmlstep, "Loop2Label");

                    var xmlaction = xmlstep.Element("Action");
                    if (xmlaction != null)
                    {
                        var action = new TesterAction();
                        action.Mode    = GetModeFromNode(xmlaction.Attribute("Mode").Value);
                        action.Voltage = GetIntergerFromNode(xmlaction, "Voltage");
                        action.Current = GetIntergerFromNode(xmlaction, "Current");
                        action.Power   = GetIntergerFromNode(xmlaction, "Power");
                        step.Action    = action;
                    }

                    var xmlCutOffConditions = xmlstep.Descendants("CutOffConditions").Elements();
                    if (xmlCutOffConditions != null)
                    {
                        foreach (var xmlCOC in xmlCutOffConditions)
                        {
                            var coc = new CutOffCondition();
                            coc.Parameter   = GetParameterFromNode(xmlCOC.Attribute("Parameter").Value);
                            coc.Mark        = GetMarkFromNode(xmlCOC.Attribute("Mark").Value);
                            coc.Value       = Convert.ToInt32(xmlCOC.Attribute("Value").Value);
                            coc.JumpType    = GetJumpTypeFromNode(xmlCOC.Attribute("JumpType").Value);
                            coc.Index       = GetIntergerFromNode(xmlCOC, "Index");
                            coc.Loop1Target = GetStringFromNode(xmlstep, "Loop1Target");
                            coc.Loop1Count  = Convert.ToUInt16(GetIntergerFromNode(xmlCOC, "Loop1Count"));
                            coc.Loop2Target = GetStringFromNode(xmlstep, "Loop2Target");
                            coc.Loop2Count  = Convert.ToUInt16(GetIntergerFromNode(xmlCOC, "Loop2Count"));

                            step.CutOffConditions.Add(coc);
                        }
                    }
                    recTemplate.StepV2s.Add(step);
                }
            }
            return(recTemplate);
        }
 void SetActiveRecipeTemplate(int index)
 {
     Debug.Assert(index < RecipeTemplates.Count() && index >= 0, "Error: " + this + " Recieved an invalid recipeTemplateIndex!");
     activeRecipeTemplate = RecipeTemplates[index];
 }
        public readonly RecipeTemplate _RecipeTemplate; //为了将其添加到Program里面去(见ProgramViewModel Add),不得不开放给viewmodel。以后再想想有没有别的办法。

        #endregion                                      // Fields

        #region Constructor

        public RecipeTemplateChooseViewModel(
            RecipeTemplate RecipeTemplateModel
            )
        {
            _RecipeTemplate = RecipeTemplateModel;
        }