private void sbxItemevent_Select(object sender, RoutedEventArgs e) { if (sbxItemevent.ItemID > 0) { if (project_costingViewSource != null) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; item item = EventDB.items.Where(x => x.id_item == sbxItemevent.ItemID).FirstOrDefault(); project_event_fixed services_per_event_details = new project_event_fixed(); services_per_event_details.is_included = true; services_per_event_details.item = item; services_per_event_details.id_item = item.id_item; if (item.item_tag_detail.Count() > 0) { if (item.item_tag_detail.FirstOrDefault().item_tag != null) { services_per_event_details.item_tag = item.item_tag_detail.FirstOrDefault().item_tag; services_per_event_details.id_tag = item.item_tag_detail.FirstOrDefault().item_tag.id_tag; } } services_per_event_details.consumption = 1; services_per_event_details.is_included = false; project_event.project_event_fixed.Add(services_per_event_details); } project_costingservices_per_event_detailsViewSource.View.Refresh(); toolBar_btnSave_Click(sender); toolBar_btnEdit_Click(sender); EstimateCost(); } }
private void sbxContact_Select(object sender, RoutedEventArgs e) { if (sbxContact.ContactID > 0) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; contact contact = EventDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); project_event.id_contact = contact.id_contact; get_ActiveRateXContact(ref contact); } }
private void toolBar_btnEdit_Click(object sender) { if (project_costingDataGrid.SelectedItem != null) { project_event project_costing = (project_event)project_costingDataGrid.SelectedItem; project_costing.IsSelected = true; project_costing.State = EntityState.Modified; EventDB.Entry(project_costing).State = EntityState.Modified; } else { toolBar.msgWarning("Please Select an Item"); } }
private void toolBar_btnNew_Click(object sender) { project_event project_costing = new project_event(); project_costing.IsSelected = true; project_costing.State = EntityState.Added; project_costing.status = Status.Documents_General.Pending; EventDB.Entry(project_costing).State = EntityState.Added; EventDB.project_event.Add(project_costing); project_costingViewSource.View.Refresh(); project_costingViewSource.View.MoveCurrentToLast(); EstimateCost(); }
private void project_costingDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; if (project_event != null) { if (project_event.id_contact != null) { sbxContact.ContactID = (int)project_event.id_contact; if (project_costingproject_event_template_variable_detailsViewSource != null && project_costingservices_per_event_detailsViewSource != null) { if (project_costingproject_event_template_variable_detailsViewSource.View != null && project_costingservices_per_event_detailsViewSource.View != null) { GetServices(sender, null); } } } } }
private void item_Select(object sender, RoutedEventArgs e) { if (sbxItem.ItemID > 0) { if (project_costingViewSource != null) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; item item = EventDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault(); project_event_variable project_event_variable = new project_event_variable(); project_event_variable.is_included = true; project_event_variable.item = item; project_event_variable.id_item = item.id_item; if (item.item_tag_detail.Count() > 0) { if (item.item_tag_detail.FirstOrDefault().item_tag != null) { project_event_variable.item_tag = item.item_tag_detail.FirstOrDefault().item_tag; project_event_variable.id_tag = item.item_tag_detail.FirstOrDefault().item_tag.id_tag; } } else { toolBar.msgWarning("Item needs Tag"); return; } project_event_variable.adult_consumption = 1; project_event_variable.child_consumption = 1; project_event_variable.is_included = false; project_event.project_event_variable.Add(project_event_variable); } project_costingproject_event_template_variable_detailsViewSource.View.Refresh(); toolBar_btnSave_Click(sender); toolBar_btnEdit_Click(sender); EstimateCost(); } }
private void btnPlaceProject_Click(object sender, RoutedEventArgs e) { //using (ProjectDB db = new ProjectDB()) //{ project project = new project(); contact contact = EventDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); project.id_contact = contact.id_contact; project.IsSelected = true; project.id_branch = CurrentSession.Id_Branch; project.name = txtName.Text; project.est_start_date = timestampCalendar.SelectedDate; project.est_end_date = timestampCalendar.SelectedDate; project.priority = 0; project_event project_costing = project_costingViewSource.View.CurrentItem as project_event; if (project_costing != null) { foreach (project_event_variable project_event_variable in project_costing.project_event_variable.Where(a => a.is_included == true)) { item item = project_event_variable.item; if (item != null && item.id_item > 0 && item.is_autorecepie) { project_task project_task = new project_task(); project_task.status = Status.Project.Pending; //project_task.project = project; project_task.id_item = project_event_variable.id_item; project_task.item_description = project_event_variable.item.name; project_task.code = project_event_variable.item.code; project_task.quantity_est = ((project_event_variable.adult_consumption) + (project_event_variable.child_consumption)); project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, project_event_variable.item, entity.App.Modules.Sales); if (item.item_recepie.Count() > 0) { foreach (item_recepie_detail item_recepie_detail in item.item_recepie.FirstOrDefault().item_recepie_detail) { project_task Subproject_task = new project_task(); Subproject_task.code = item_recepie_detail.item.code; Subproject_task.item_description = item_recepie_detail.item.name; Subproject_task.id_item = item_recepie_detail.item.id_item; Subproject_task.items = item_recepie_detail.item; project_task.status = Status.Project.Pending; Subproject_task.RaisePropertyChanged("item"); if (item_recepie_detail.quantity > 0) { Subproject_task.quantity_est = (decimal)item_recepie_detail.quantity * project_task.quantity_est; } project_task.child.Add(Subproject_task); } } project.project_task.Add(project_task); } else { project_task project_task = new project_task(); project_task.status = Status.Project.Pending; //project_task.project = project; project_task.id_item = project_event_variable.id_item; project_task.item_description = project_event_variable.item.name; project_task.code = project_event_variable.item.code; project_task.quantity_est = ((project_event_variable.adult_consumption) + (project_event_variable.child_consumption)); project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, project_event_variable.item, entity.App.Modules.Sales); project.project_task.Add(project_task); } } foreach (project_event_fixed per_event_service in project_costing.project_event_fixed.Where(a => a.is_included == true)) { item item = per_event_service.item; if (item != null && item.id_item > 0 && item.is_autorecepie) { project_task project_task = new project_task(); project_task.status = Status.Project.Pending; //project_task.project = project; project_task.id_item = per_event_service.id_item; project_task.item_description = per_event_service.item.name; project_task.code = per_event_service.item.code; project_task.quantity_est = per_event_service.consumption; project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, per_event_service.item, entity.App.Modules.Sales); foreach (item_recepie_detail item_recepie_detail in item.item_recepie.FirstOrDefault().item_recepie_detail) { project_task Subproject_task = new project_task(); Subproject_task.code = item_recepie_detail.item.name; Subproject_task.item_description = item_recepie_detail.item.name; Subproject_task.id_item = item_recepie_detail.item.id_item; Subproject_task.items = item_recepie_detail.item; Subproject_task.RaisePropertyChanged("item"); if (item_recepie_detail.quantity > 0) { Subproject_task.quantity_est = (decimal)item_recepie_detail.quantity * project_task.quantity_est; } project_task.child.Add(Subproject_task); } project.project_task.Add(project_task); } else { project_task project_task = new project_task(); project_task.status = Status.Project.Pending; //project_task.project = project; project_task.id_item = per_event_service.id_item; project_task.item_description = per_event_service.item.name; project_task.code = per_event_service.item.code; project_task.quantity_est = per_event_service.consumption; project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, per_event_service.item, entity.App.Modules.Sales); project.project_task.Add(project_task); } } item _item = project_costing.item; if (_item != null && _item.id_item > 0 && _item.is_autorecepie) { project_task _project_task = new project_task(); _project_task.status = Status.Project.Pending; //_project_task.project = project; _project_task.id_item = project_costing.id_item; _project_task.item_description = project_costing.item.name; _project_task.code = project_costing.item.code; _project_task.quantity_est = 1; _project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, project_costing.item, entity.App.Modules.Sales); foreach (item_recepie_detail item_recepie_detail in _item.item_recepie.FirstOrDefault().item_recepie_detail) { project_task Subproject_task = new project_task(); Subproject_task.code = item_recepie_detail.item.name; Subproject_task.item_description = item_recepie_detail.item.name; Subproject_task.id_item = item_recepie_detail.item.id_item; Subproject_task.items = item_recepie_detail.item; Subproject_task.RaisePropertyChanged("item"); if (item_recepie_detail.quantity > 0) { Subproject_task.quantity_est = (decimal)item_recepie_detail.quantity * _project_task.quantity_est; } _project_task.child.Add(Subproject_task); } project.project_task.Add(_project_task); } else { project_task _project_task = new project_task(); _project_task.status = Status.Project.Pending; //_project_task.project = project; _project_task.id_item = project_costing.id_item; _project_task.item_description = project_costing.item.name; _project_task.code = project_costing.item.code; _project_task.quantity_est = 1; _project_task.unit_cost_est = get_Price(contact, IDcurrencyfx, project_costing.item, entity.App.Modules.Sales); project.project_task.Add(_project_task); } project_costing.status = Status.Documents_General.Approved; EventDB.projects.Add(project); EventDB.SaveChanges(); } //} }
private void saveOrder_Click(object sender, RoutedEventArgs e) { project_event project_costing = project_costingViewSource.View.CurrentItem as project_event; if (project_costing != null) { contact contact = EventDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); app_condition app_condition = id_conditionComboBox.SelectedItem as app_condition; app_contract app_contract = id_contractComboBox.SelectedItem as app_contract; if (contact != null && app_condition != null && app_contract != null) { using (SalesBudgetDB db = new SalesBudgetDB()) { sales_budget sales_budget = new sales_budget(); sales_budget.IsSelected = true; sales_budget.State = EntityState.Added; sales_budget.status = Status.Documents_General.Pending; sales_budget.id_contact = contact.id_contact; sales_budget.contact = db.contacts.Where(x => x.id_contact == contact.id_contact).FirstOrDefault(); if (CurrentSession.Id_Branch > 0) { sales_budget.id_branch = CurrentSession.Id_Branch; } else { sales_budget.id_branch = db.app_branch.Where(a => a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_branch; } sales_budget.id_condition = app_condition.id_condition; sales_budget.id_contract = app_contract.id_contract; sales_budget.id_currencyfx = project_costing.id_currencyfx; foreach (project_event_variable project_event_variable in project_costing.project_event_variable.Where(a => a.is_included == true)) { sales_budget_detail sales_budget_detail = new sales_budget_detail(); sales_budget_detail.sales_budget = sales_budget; sales_budget_detail.item = db.items.Where(a => a.id_item == project_event_variable.id_item).FirstOrDefault(); sales_budget_detail.id_item = project_event_variable.id_item; sales_budget_detail.quantity = ((project_event_variable.adult_consumption) + (project_event_variable.child_consumption)); sales_budget_detail.UnitPrice_Vat = Math.Round(get_Price(contact, IDcurrencyfx, sales_budget_detail.item, entity.App.Modules.Sales)); sales_budget.sales_budget_detail.Add(sales_budget_detail); } foreach (project_event_fixed project_event_fixed in project_costing.project_event_fixed.Where(a => a.is_included == true)) { sales_budget_detail sales_budget_detail = new sales_budget_detail(); sales_budget_detail.sales_budget = sales_budget; sales_budget_detail.item = db.items.Where(a => a.id_item == project_event_fixed.id_item).FirstOrDefault(); sales_budget_detail.id_item = project_event_fixed.id_item; sales_budget_detail.quantity = project_event_fixed.consumption; sales_budget_detail.UnitPrice_Vat = Math.Round(get_Price(contact, IDcurrencyfx, sales_budget_detail.item, entity.App.Modules.Sales)); sales_budget.sales_budget_detail.Add(sales_budget_detail); } sales_budget_detail sales_budget_detail_hall = new sales_budget_detail(); sales_budget_detail_hall.sales_budget = sales_budget; sales_budget_detail_hall.item = db.items.Where(a => a.id_item == project_costing.id_item).FirstOrDefault(); sales_budget_detail_hall.id_item = project_costing.id_item; sales_budget_detail_hall.quantity = 1; sales_budget_detail_hall.UnitPrice_Vat = Math.Round(get_Price(contact, IDcurrencyfx, sales_budget_detail_hall.item, entity.App.Modules.Sales)); sales_budget.sales_budget_detail.Add(sales_budget_detail_hall); db.sales_budget.Add(sales_budget); db.SaveChanges(); } lblCancel_MouseDown(null, null); } else { if (MessageBox.Show("VALIDATION EXCEPTION : Please fill up all the fields", "Cognitivo", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk) == MessageBoxResult.Cancel) { lblCancel_MouseDown(null, null); } } } }
private void EstimateCost() { List <Event> EventList = new List <Event>(); if (project_costingViewSource.View.CurrentItem != null) { IDcurrencyfx = (project_costingViewSource.View.CurrentItem as project_event).id_currencyfx; } int adult_guest = 0; int child_guest = 0; try { adult_guest = Convert.ToInt32(guest_adultTextBox.Text); child_guest = Convert.ToInt32(guest_childTextBox.Text); } catch { adult_guest = 0; child_guest = 0; } TotalCost = 0; CostForPerPersonServices = 0; CostForPerEventServices = 0; CostForHall = 0; if (adult_guest > 0 || child_guest > 0) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; contact contact = EventDB.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault(); if (project_event != null) { ICollection <project_event_variable> project_event_variableLIST = project_event.project_event_variable; List <project_event_variable> Selectedlist = project_event_variableLIST.Where(x => x.is_included == true).ToList(); CostForPerPersonServices = Selectedlist.Sum(x => ((x.adult_consumption) + (x.child_consumption)) * get_Price(contact, IDcurrencyfx, x.item, entity.App.Modules.Sales)); foreach (project_event_variable item in Selectedlist) { Event Event = new Event(); Event.code = item.item.code; Event.description = item.item.name; Event.Quantity = item.adult_consumption + item.child_consumption; Event.UnitPrice = get_Price(contact, IDcurrencyfx, item.item, entity.App.Modules.Sales); Event.SubTotal = (item.adult_consumption + item.child_consumption) * get_Price(contact, IDcurrencyfx, item.item, entity.App.Modules.Sales); EventList.Add(Event); } ICollection <project_event_fixed> project_event_fixedLIST = project_event.project_event_fixed; List <project_event_fixed> Selectedeventlist = project_event_fixedLIST.Where(x => x.is_included == true).ToList(); CostForPerEventServices = Selectedeventlist.Sum(x => x.consumption * get_Price(contact, IDcurrencyfx, x.item, entity.App.Modules.Sales)); foreach (project_event_fixed item in Selectedeventlist) { Event Event = new Event(); Event.code = item.item.code; Event.description = item.item.name; Event.Quantity = item.consumption; Event.UnitPrice = get_Price(contact, IDcurrencyfx, item.item, entity.App.Modules.Sales); Event.SubTotal = item.consumption * get_Price(contact, IDcurrencyfx, item.item, entity.App.Modules.Sales); EventList.Add(Event); } if (project_event.item != null) { CostForHall = get_Price(contact, IDcurrencyfx, project_event.item, entity.App.Modules.Sales); } Event EventForHall = new Event(); if (project_event.item != null) { EventForHall.code = project_event.item.code; EventForHall.description = project_event.item.name; EventForHall.Quantity = 1; EventForHall.UnitPrice = get_Price(contact, IDcurrencyfx, project_event.item, entity.App.Modules.Sales); EventForHall.SubTotal = get_Price(contact, IDcurrencyfx, project_event.item, entity.App.Modules.Sales); EventList.Add(EventForHall); } } TotalCost = CostForPerEventServices + CostForPerPersonServices + CostForHall; } dgvorder.ItemsSource = EventList; RaisePropertyChanged("TotalCost"); RaisePropertyChanged("CostForPerEventServices"); RaisePropertyChanged("CostForPerPersonServices"); RaisePropertyChanged("CostForHall"); }
private void GetServices(object sender, RoutedEventArgs e) { toolBar_btnSave_Click(sender); toolBar_btnEdit_Click(sender); if (project_costingViewSource != null) { project_event project_event = project_costingViewSource.View.CurrentItem as project_event; //if (project_event.project_event_fixed.Count()==0) //{ if (project_event != null && id_template_designerComboBox.SelectedItem != null) { project_event_template project_event_template = id_template_designerComboBox.SelectedItem as project_event_template; if (project_event_template.project_event_template_variable != null && project_event_template.project_event_template_variable.Count > 0) { // EventDB.project_event_variable.RemoveRange(project_event.project_event_variable); foreach (project_event_template_variable person_service in project_event_template.project_event_template_variable) { item_tag item_tag = person_service.item_tag; foreach (item_tag_detail tag_detail in item_tag.item_tag_detail) { if (tag_detail.item.is_active) { if (project_event.project_event_variable.Where(x => x.id_item == tag_detail.item.id_item).Any()) { project_event_variable project_event_variable = project_event.project_event_variable.Where(x => x.id_item == tag_detail.item.id_item).FirstOrDefault(); project_event_variable.adult_consumption = person_service.adult_consumption * project_event.quantity_adult; project_event_variable.child_consumption = person_service.child_consumption * project_event.quantity_child; } else { project_event_variable project_event_variable = new project_event_variable(); project_event_variable.item = tag_detail.item; project_event_variable.id_item = tag_detail.id_item; project_event_variable.item_tag = tag_detail.item_tag; project_event_variable.id_tag = tag_detail.id_tag; project_event_variable.adult_consumption = person_service.adult_consumption * project_event.quantity_adult; project_event_variable.child_consumption = person_service.child_consumption * project_event.quantity_child; project_event_variable.is_included = false; project_event.project_event_variable.Add(project_event_variable); } } } } project_costingproject_event_template_variable_detailsViewSource.View.Refresh(); } } if (project_event != null && id_template_designerComboBox.SelectedItem != null) { project_event_template project_event_template = id_template_designerComboBox.SelectedItem as project_event_template; if (project_event_template.project_event_template_fixed != null && project_event_template.project_event_template_fixed.Count > 0) { // EventDB.project_event_fixed.RemoveRange(project_event.project_event_fixed); foreach (project_event_template_fixed project_event_template_fixed in project_event_template.project_event_template_fixed) { item_tag item_tag = project_event_template_fixed.item_tag; foreach (item_tag_detail tag_detail in item_tag.item_tag_detail) { if (tag_detail.item.is_active) { if (project_event.project_event_fixed.Where(x => x.id_item == tag_detail.item.id_item).Any()) { project_event_fixed services_per_event_details = project_event.project_event_fixed.Where(x => x.id_item == tag_detail.item.id_item).FirstOrDefault(); services_per_event_details.consumption = services_per_event_details.consumption; } else { project_event_fixed services_per_event_details = new project_event_fixed(); services_per_event_details.item = tag_detail.item; services_per_event_details.id_item = tag_detail.id_item; services_per_event_details.item_tag = tag_detail.item_tag; services_per_event_details.id_tag = tag_detail.id_tag; services_per_event_details.consumption = 1; services_per_event_details.is_included = false; project_event.project_event_fixed.Add(services_per_event_details); } } } } project_costingservices_per_event_detailsViewSource.View.Refresh(); } } //} EstimateCost(); } }