00001
00002 using System;
00003 using Gtk;
00004 using Foodolini.BusinessLogic;
00005 using Foodolini.Activities;
00006 using Foodolini.Activities.Ingredients;
00007
00008 namespace Foodolini.Activities.Inventory
00009 {
00013 [FoodoliniActivity("EditFoodItem",true)]
00014 [System.ComponentModel.ToolboxItem(true)]
00015 public partial class EditFoodItemDialog : Gtk.Dialog
00016 {
00017
00018 FoodItem foodItem;
00019 Ingredient activeIngredient;
00020 DateTime SavedEx;
00021 bool Savedisopen;
00022
00029 public EditFoodItemDialog(FoodItem food)
00030 {
00031 this.Build();
00032
00033 this.foodItem = food;
00034
00035 activeIngredient = food.Ingredient;
00036 lbIngredient.Text = foodItem.Ingredient.LongDescription;
00037
00038 spinAmount.Value = foodItem.Quantity;
00039 SavedEx = foodItem.ExpirationDate;
00040 cal.Date = foodItem.ExpirationDate;
00041 Savedisopen = foodItem.IsOpen;
00042 chOpen.Active = foodItem.IsOpen;
00043 this.Title=foodItem.Ingredient.LongDescription;
00044 }
00045
00046
00050 public FoodItem Food{
00051 get{
00052
00053 this.foodItem.Ingredient = activeIngredient;
00054 this.foodItem.Quantity = this.spinAmount.Value;
00055 this.foodItem.ExpirationDate = this.cal.Date;
00056
00057 return this.foodItem;
00058 }
00059 }
00060
00061
00065 public void DontSave(){
00066 if(Savedisopen){
00067 foodItem.OpenFoodItem();
00068 }else{
00069 foodItem.CloseFoodItem();
00070 }
00071 foodItem.ExpirationDate = SavedEx;
00072 }
00082 protected virtual void OnBntIngreClicked (object sender, System.EventArgs e)
00083 {
00084 IngredientSelector dialog = new IngredientSelector(activeIngredient,false);
00085 if (dialog.Run() == (int)ResponseType.Ok){
00086 activeIngredient = dialog.SelectedIngredient;
00087
00088 lbIngredient.Text = this.Title = activeIngredient.LongDescription;
00089 }
00090 dialog.Destroy();
00091 }
00092
00102 protected virtual void OnChOpenToggled (object sender, System.EventArgs e)
00103 {
00104 if(chOpen.Active){
00105 foodItem.OpenFoodItem();
00106 cal.Date = foodItem.ExpirationDate;
00107 }else{
00108 foodItem.CloseFoodItem();
00109 cal.Date = foodItem.ExpirationDate;
00110 }
00111 }
00112 }
00113 }