private void Copy(project_task source, TicketPart destination, TicketContext context) { destination.Record.Title = source.name; destination.Record.Description = source.description; // priority if (!string.IsNullOrEmpty(source.priority)) { var priority = context.Priorities.FirstOrDefault(c => c.Name.ToLower().Trim() == source.priority.ToLower().Trim()); if (priority != null) { destination.PriorityRecord = new PriorityRecord { Id = priority.Id }; } } // status if (!string.IsNullOrEmpty(source.status)) { var status = context.StatusList.FirstOrDefault(c => c.Name.ToLower().Trim() == source.status.ToLower().Trim()); if (status != null) { destination.StatusRecord = new StatusRecord { Id = status.Id }; } } }
public void add_item(production_order_detail production_order_detail) { production_order_detail.quantity = production_order_detailList.FirstOrDefault().quantity; production_order_detail.id_item = production_order_detailList.FirstOrDefault().id_item; production_order_detail.item = production_order_detailList.FirstOrDefault().item; production_order_detail.parent = production_order_detailList.FirstOrDefault().parent; production_order_detail.IsSelected = true; production_order_detail.State = EntityState.Added; production_order_detailList.FirstOrDefault().production_order.production_order_detail.Add(production_order_detail); if (production_order_detail.id_project_task > 0) { if (OrderDB.project_task.Where(x => x.id_project_task == production_order_detail.id_project_task).FirstOrDefault() != null) { project_task project_task = OrderDB.project_task.Where(x => x.id_project_task == production_order_detail.id_project_task).FirstOrDefault(); if (OrderDB.project_task_dimension.Where(x => x.id_project_task == project_task.id_project_task).ToList() != null) { List <project_task_dimension> project_task_dimensionList = OrderDB.project_task_dimension.Where(x => x.id_project_task == project_task.id_project_task).ToList(); foreach (project_task_dimension project_task_dimension in project_task_dimensionList) { production_order_dimension production_order_dimension = new production_order_dimension(); production_order_dimension.id_dimension = project_task_dimension.id_dimension; production_order_dimension.value = project_task_dimension.value; production_order_detail.production_order_dimension.Add(production_order_dimension); } } } } }
private void project_task_dimensionDataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { project_task project_task = (project_task)treeProject.SelectedItem_; project_task_dimension project_task_dimension = e.Row.Item as project_task_dimension; project_task.project_task_dimension.Add(project_task_dimension); }
public void filter_task() { try { if (project_taskViewSource != null) { if (project_taskViewSource.View != null) { project_taskViewSource.View.Filter = i => { project_task _project_task = (project_task)i; if (_project_task.parent == null && _project_task.is_active == true) { return(true); } else { return(false); } }; } } } catch { } }
private void treeProject_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (treeProject.SelectedItem_ != null) { project_task project_task = (project_task)treeProject.SelectedItem_; project_taskViewSource.View.MoveCurrentTo(project_task); try { if (project_task_dimensionViewSource != null) { if (project_task_dimensionViewSource.View != null) { project_task_dimensionViewSource.View.Filter = i => { project_task_dimension _project_task_dimension = (project_task_dimension)i; if (_project_task_dimension.id_project_task == project_task.id_project_task) { return(true); } else { return(false); } }; } } } catch (Exception ex) { toolBar.msgError(ex); } } }
public void filter_task() { try { if (project_taskViewSource != null) { if (project_taskViewSource.View != null) { project_taskViewSource.View.Filter = i => { project_task _project_task = (project_task)i; if (_project_task.parent == null && _project_task.is_active == true && _project_task.status != Status.Project.Rejected) { return(true); } else { return(false); } }; } } } catch (Exception ex) { toolBar.msgError(ex); } }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { using (db db = new db()) { cbxDocument.ItemsSource = entity.Brillo.Logic.Range.List_Range(db, entity.App.Names.ActivityPlan, CurrentSession.Id_Branch, CurrentSession.Id_Terminal); project_task project_task = db.project_task.FirstOrDefault(); project_task.id_range = id_range; number = project_task.NumberWatermark; RaisePropertyChanged("number"); } }
private void cbxproperty_SelectionChanged(object sender, EventArgs e) { if (cbxproperty.SelectedItem != null) { project_task project_task_output = treeProject.SelectedItem_ as project_task; if (project_task_output != null) { project_task_output.item_description = project_task_output.item_description + " || POS: '" + cbxproperty.Text + "'"; project_task_output.RaisePropertyChanged("item_description"); } } }
private void cbxDocument_SelectionChanged(object sender, SelectionChangedEventArgs e) { using (db db = new db()) { if (id_range != null) { project_task project_task = db.project_task.FirstOrDefault(); project_task.State = System.Data.Entity.EntityState.Modified; project_task.id_range = (int)cbxDocument.SelectedValue; number = project_task.NumberWatermark; RaisePropertyChanged("number"); } } }
private void btnEditTask_Click(object sender) { stpcode.IsEnabled = true; project_task project_task = treeProject.SelectedItem_ as project_task; if (project_task != null) { project_task.State = EntityState.Modified; } else { toolBar.msgWarning("Select Task"); } }
private async void btnSave_Click(object sender, RoutedEventArgs e) { entity.project _project = ((entity.project)projectViewSource.View.CurrentItem); int id_type = 0; if (_project.id_project_template != null) { id_type = (int)_project.id_project_template; } await db.project_template_detail.Where(x => x.id_project_template == id_type).ToListAsync(); List <project_template_detail> project_template_detail = db.project_template_detail.Local.ToList(); if (project_template_detail != null) { foreach (project_template_detail item in project_template_detail) { project_task project_task = new project_task(); project_task.id_project_task = item.id_template_detail; project_task.items = item.item; if (item.item_description != null) { project_task.item_description = item.item_description; } else { project_task.item_description = "Generic Task - Please Replace"; } project_task.code = item.code; project_task.id_item = item.id_item; project_task.status = Status.Project.Pending; if (item.parent != null) { project_task _project_task = db.project_task.Local.Where(x => x.id_project_task == item.parent.id_template_detail).FirstOrDefault(); _project_task.child.Add(project_task); } _project.project_task.Add(project_task); // } } } db.SaveChanges(); btnCancel_Click(sender, e); }
private void lblCancel_MouseDown(object sender, MouseButtonEventArgs e) { production_order production_order = (production_order)production_orderViewSource.View.CurrentItem; shared_dbContext.db.production_order.Remove(production_order); foreach (var item in project_taskLIST) { project_task _project_task = (project_task)item; _project_task.IsSelected = false; } projectViewSource.View.Refresh(); Grid parentGrid = (Grid)this.Parent; parentGrid.Children.Clear(); parentGrid.Visibility = Visibility.Hidden; }
private void btnNewTask_Click(object sender) { stpcode.IsEnabled = true; project project = projectViewSource.View.CurrentItem as project; project_task project_task = treeProject.SelectedItem_ as project_task; if (project_task != null && project_task.items.item_recepie.Count() == 0) { //Adding a Child Item. if (project_task.items != null) { if (project_task.items.id_item_type == entity.item.item_type.Task) { project_task n_project_task = new project_task(); n_project_task.id_project = project.id_project; n_project_task.status = entity.Status.Project.Pending; n_project_task.quantity_est = 0; n_project_task.parent = project_task; n_project_task.State = EntityState.Added; project_task.child.Add(n_project_task); ProjectTaskDB.project_task.Add(n_project_task); project_taskViewSource.View.Refresh(); project_taskViewSource.View.MoveCurrentTo(n_project_task); treeProject.SelectedItem_ = n_project_task; } } } else { project_task n_project_task = new project_task(); n_project_task.id_project = project.id_project; n_project_task.status = entity.Status.Project.Pending; n_project_task.State = EntityState.Added; ProjectTaskDB.project_task.Add(n_project_task); project_taskViewSource.View.Filter = null; project_taskViewSource.View.MoveCurrentTo(n_project_task); treeProject.SelectedItem_ = n_project_task; filter_task(); } }
private void itemDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (((TabItem)TabLogistics.SelectedItem).Name == "tabproduct" || ((TabItem)TabLogistics.SelectedItem).Name == "tabraw") { itemDataGrid.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.VisibleWhenSelected; } else { itemDataGrid.RowDetailsVisibilityMode = DataGridRowDetailsVisibilityMode.Collapsed; } project_taskViewSource = ((CollectionViewSource)(this.FindResource("project_taskViewSource"))); if (project_task != project_taskViewSource.View.CurrentItem as project_task) { project_task = project_taskViewSource.View.CurrentItem as project_task; CollectionViewSource project_task_dimensionViewSource = ((CollectionViewSource)(FindResource("project_task_dimensionViewSource"))); project_task_dimensionViewSource.Source = ProjectTaskDB.project_task_dimension.Where(a => a.id_company == CurrentSession.Id_Company && a.id_project_task == project_task.id_project_task).ToList(); } }
public void filter_task() { if (projectViewSource != null) { if (projectViewSource.View != null) { projectViewSource.View.Filter = i => { project_task _project_task = (project_task)i; if (_project_task.parent == null) { return(true); } else { return(false); } }; } } }
private void btnAddParentTask_Click(object sender) { stpcode.IsEnabled = true; project project = projectViewSource.View.CurrentItem as project; if (project != null) { project_task n_project_task = new project_task(); n_project_task.id_project = project.id_project; n_project_task.status = entity.Status.Project.Pending; n_project_task.State = EntityState.Added; ProjectTaskDB.project_task.Add(n_project_task); project_taskViewSource.View.Filter = null; project_taskViewSource.View.MoveCurrentTo(n_project_task); treeProject.SelectedItem_ = n_project_task; } else { toolBar.msgWarning("Select Project"); } filter_task(); }
private void Button_Click(object sender, RoutedEventArgs e) { foreach (var item in project_taskLIST) { project_task _project_task = (project_task)item; if (_project_task.status == entity.Status.Project.Approved) { _project_task.status = entity.Status.Project.InProcess; _project_task.IsSelected = false; } } IEnumerable <DbEntityValidationResult> validationresult = _dbContext.db.GetValidationErrors(); if (validationresult.Count() == 0) { shared_dbContext.SaveChanges(); Grid parentGrid = (Grid)this.Parent; parentGrid.Children.Clear(); parentGrid.Visibility = Visibility.Hidden; } filter_task(); }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { production_order production_order = new production_order(); // Do not load your data at design time. if (!DesignerProperties.GetIsInDesignMode(this)) { //Load your data here and assign the result to the CollectionViewSource. production_orderViewSource = (CollectionViewSource)this.Resources["production_orderViewSource"]; shared_dbContext.db.production_order.Add(production_order); production_orderViewSource.Source = shared_dbContext.db.production_order.Local; production_lineViewSource = (CollectionViewSource)this.Resources["production_lineViewSource"]; shared_dbContext.db.production_line.Load(); production_lineViewSource.Source = shared_dbContext.db.production_line.Local; } if (project_taskLIST.Count() > 0) { production_order.id_project = project_taskLIST.FirstOrDefault().id_project; //Get Name. production_order.name = project_taskLIST.FirstOrDefault().project.name; production_order.RaisePropertyChanged("name"); //Date check. Get the range from task first, if blank get from Project. production_order.start_date_est = project_taskLIST.OrderBy(x => x.start_date_est).FirstOrDefault().start_date_est; production_order.end_date_est = project_taskLIST.OrderByDescending(x => x.end_date_est).FirstOrDefault().end_date_est; if (production_order.start_date_est == null || production_order.end_date_est == null) { production_order.start_date_est = project_taskLIST.OrderBy(x => x.start_date_est).FirstOrDefault().project.est_start_date; production_order.end_date_est = project_taskLIST.OrderByDescending(x => x.end_date_est).FirstOrDefault().project.est_end_date; } production_order.RaisePropertyChanged("start_date_est"); production_order.RaisePropertyChanged("end_date_est"); foreach (var item in project_taskLIST.Where(x => x.status == Status.Project.Approved)) { project_task _project_task = (project_task)item; production_order_detail production_order_detail = new production_order_detail(); production_order_detail.status = Status.Production.Pending; production_order_detail.id_order_detail = _project_task.id_project_task; production_order_detail.name = _project_task.item_description; production_order_detail.code = _project_task.code; //Ref Keys production_order_detail.item = _project_task.items; production_order_detail.id_item = _project_task.id_item; //If Item has Recepie if (_project_task.items.item_recepie.Count > 0) { production_order_detail.is_input = false; } else { production_order_detail.is_input = true; } if (_project_task.parent != null) { production_order_detail _production_order_detail = production_order.production_order_detail.Where(x => x.id_project_task == _project_task.parent.id_project_task).FirstOrDefault(); if (_production_order_detail != null) { production_order_detail.parent = _production_order_detail; } } production_order_detail.id_project_task = _project_task.id_project_task; if (_project_task.quantity_est > 0) { production_order_detail.quantity = (decimal)_project_task.quantity_est; } production_order.status = entity.Status.Production.Pending; production_order.production_order_detail.Add(production_order_detail); } shared_dbContext.db.production_order.Add(production_order); production_orderViewSource.View.MoveCurrentToLast(); } }
private void item_Select(object sender, RoutedEventArgs e) { if (sbxItem.ItemID > 0) { item item = ProjectTaskDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault(); project_task project_task_output = treeProject.SelectedItem_ as project_task; if (project_task_output.parent != null) { if (project_task_output.parent.items.is_autorecepie) { MessageBox.Show("can't add becuse item is auto receipe"); } } if (item != null && item.id_item > 0 && item.is_autorecepie) { project_task_output.id_item = item.id_item; project_task_output.items = item; project_task_output.RaisePropertyChanged("item"); project_task_output.quantity_est = 1; foreach (item_recepie_detail item_recepie_detail in item.item_recepie.FirstOrDefault().item_recepie_detail) { project_task project_task = new project_task(); project_task.code = item_recepie_detail.item.name; project_task.item_description = item_recepie_detail.item.name; project_task.id_item = item_recepie_detail.item.id_item; project_task.items = item_recepie_detail.item; project_task.id_project = project_task_output.id_project; project_task.status = Status.Project.Pending; project_task.RaisePropertyChanged("item"); if (item_recepie_detail.quantity > 0) { project_task.quantity_est = (decimal)item_recepie_detail.quantity; } project_task_output.child.Add(project_task); } filter_task(); } else { if (project_task_output.code == "") { project_task_output.code = item.code; } project_task_output.id_item = item.id_item; project_task_output.items = item; project_task_output.item_description = item.name; project_task_output.RaisePropertyChanged("item_description"); project_task_output.RaisePropertyChanged("item"); project_task_output.quantity_est = 1; } if (item.item_dimension != null) { project_task_output.items = item; project_task_output.project_task_dimension.Clear(); foreach (item_dimension _item_dimension in item.item_dimension) { project_task_dimension project_task_dimension = new project_task_dimension(); project_task_dimension.id_dimension = _item_dimension.id_app_dimension; project_task_dimension.app_dimension = _item_dimension.app_dimension; project_task_dimension.value = _item_dimension.value; project_task_dimension.id_measurement = _item_dimension.id_measurement; project_task_dimension.app_measurement = _item_dimension.app_measurement; project_task_dimension.id_project_task = project_task_output.id_project_task; project_task_dimension.project_task = project_task_output; ProjectTaskDB.project_task_dimension.Add(project_task_dimension); project_task_dimensionViewSource.View.MoveCurrentToLast(); } } try { if (project_task_dimensionViewSource != null) { if (project_task_dimensionViewSource.View != null) { project_task_dimensionViewSource.View.Filter = i => { project_task_dimension _project_task_dimension = (project_task_dimension)i; if (_project_task_dimension.project_task == project_task_output) { return(true); } else { return(false); } }; } } } catch (Exception ex) { toolBar.msgError(ex); } } }
public IEnumerable <SuiteCRMTaskDetailViewModel> CopyOrchardTicketsToSuite(CopyOrchardTasksToSuiteViewModel model) { List <SuiteCRMTaskDetailViewModel> returnValue = new List <SuiteCRMTaskDetailViewModel>(); using (var connection = Helper.GetConnection(this.services, this.Logger)) using (SuiteCRMTaskUnitOfWork taskRepository = new SuiteCRMTaskUnitOfWork(connection)) using (SuiteCRMEmailAddressBeanUnitOfWork suiteCRMEmailAddressBeanUnitOfWork = new SuiteCRMEmailAddressBeanUnitOfWork(taskRepository)) using (SuiteCRMEmailAddressUnitOfWork suiteCRMEmailAddressUnitOfWork = new SuiteCRMEmailAddressUnitOfWork(taskRepository)) using (SuiteCRMProjectTaskUnitOfWork projectTasksRepository = new SuiteCRMProjectTaskUnitOfWork(taskRepository)) using (var suiteCRMTransaction = taskRepository.BeginTransaction()) { TicketContext context = new TicketContext(); context.ProjectTaskUnitOfWork = projectTasksRepository; context.Priorities = this.priorityRepository.Table.ToList(); context.StatusList = this.statusRepository.Table.ToList(); try { var taskIds = model.Tasks.Where(c => !string.IsNullOrEmpty(c.SuiteCRMId)).Select(c => c.SuiteCRMId).ToArray(); var suiteTasks = taskRepository.GetTasks(taskIds); var suiteProjectTasks = projectTasksRepository.GetTasks(taskIds); var orchardTickets = this.services .ContentManager .GetMany <SuiteCRMTaskPart>( model.Tasks.Where(c => c.OrchardCollaborationTicketId.HasValue).Select(c => c.OrchardCollaborationTicketId.Value), VersionOptions.Published, new QueryHints().ExpandParts <TicketPart>()); foreach (var item in model.Tasks) { if (item.OrchardCollaborationTicketId == null) { continue; } var ticket = orchardTickets.FirstOrDefault(c => c.Id == item.OrchardCollaborationTicketId.Value); var suiteCRMTaskPart = ticket.As <SuiteCRMTaskPart>(); TicketPart ticketPart = ticket.As <TicketPart>(); ContentItemPermissionPart permissionPart = ticket.As <ContentItemPermissionPart>(); AttachToProjectPart attachToProjectPart = ticket.As <AttachToProjectPart>(); SuiteCRMProjectPart projectPart = null; if (!this.IsSyncingTicketValid(item, ticket, out projectPart)) { continue; } project_task suiteCRMProjectTask = null; task suiteCRMTask = null; if (!string.IsNullOrEmpty(suiteCRMTaskPart.ExternalId) && item.IsProjectTask) { suiteCRMProjectTask = suiteProjectTasks.FirstOrDefault(c => c.id == suiteCRMTaskPart.ExternalId); } if (!string.IsNullOrEmpty(suiteCRMTaskPart.ExternalId) && !item.IsProjectTask) { suiteCRMTask = suiteTasks.FirstOrDefault(c => c.id == suiteCRMTaskPart.ExternalId); } if (suiteCRMProjectTask == null && item.IsProjectTask) { suiteCRMProjectTask = new project_task(); suiteCRMProjectTask.project_id = item.SuiteCRMId; projectTasksRepository.Add(suiteCRMProjectTask); } if (suiteCRMTask == null && !item.IsProjectTask) { suiteCRMTask = new task(); taskRepository.Add(suiteCRMTask); } CommonPart commonPart = ticketPart.As <CommonPart>(); DateTime? lastOrchardTicketChangeDate = commonPart.ModifiedUtc ?? commonPart.CreatedUtc; if (suiteCRMProjectTask != null && ( !item.DoNotOverrideNewerValues || suiteCRMProjectTask.date_modified == null || (lastOrchardTicketChangeDate.HasValue && suiteCRMProjectTask.date_modified.Value <= lastOrchardTicketChangeDate.Value) )) { this.Copy(ticketPart, permissionPart, suiteCRMProjectTask, context); suiteCRMProjectTask.project_id = projectPart.ExternalId; projectTasksRepository.Save(); } if (suiteCRMTask != null && ( !item.DoNotOverrideNewerValues || suiteCRMTask.date_modified == null || (lastOrchardTicketChangeDate.HasValue && suiteCRMTask.date_modified.Value <= lastOrchardTicketChangeDate.Value) )) { this.Copy(ticketPart, permissionPart, suiteCRMTask, context); // set contact if (string.IsNullOrEmpty(suiteCRMTask.created_by) && commonPart.Owner != null) { var emailAddress = suiteCRMEmailAddressUnitOfWork.GetByEmail(commonPart.Owner.Email); if (emailAddress != null) { var contact = suiteCRMEmailAddressBeanUnitOfWork.GetBeanIdOfEmailAddress(Helper.ContactsModuleName, new[] { emailAddress.id }).FirstOrDefault(); if (contact != null) { suiteCRMTask.parent_id = contact.id; suiteCRMTask.parent_type = Helper.ContactsModuleName; } } } projectTasksRepository.Save(); } suiteCRMTaskPart.ExternalId = item.IsProjectTask ? suiteCRMProjectTask.id : suiteCRMTask.id; suiteCRMTaskPart.LastSyncTime = DateTime.UtcNow; suiteCRMTaskPart.TaskType = item.IsProjectTask ? SuiteCRMTaskPart.SuiteCRMProjectTaskTypeValue : SuiteCRMTaskPart.SuiteCRMTaskTypeValue; this.services.ContentManager.Publish(ticket.ContentItem); SuiteCRMTaskDetailViewModel returnValueItem = new SuiteCRMTaskDetailViewModel(); returnValueItem.OrchardCollaborationTicket = ticket.ContentItem; returnValueItem.IsSync = true; returnValueItem.IsProjectTask = item.IsProjectTask; returnValueItem.LastSyncTime = suiteCRMTaskPart.LastSyncTime; returnValueItem.SuiteCRMTaskId = suiteCRMTaskPart.ExternalId; returnValue.Add(returnValueItem); } suiteCRMTransaction.Commit(); } catch (Exception ex) { suiteCRMTransaction.Rollback(); throw ex; } } return(returnValue); }
public void LoadData() { try { LogisticsList.Clear(); LogisticsListService.Clear(); if (projectViewSource != null) { item_ProductDataGrid.ItemsSource = null; item_RawDataGrid.ItemsSource = null; item_ServiceDataGrid.ItemsSource = null; item_CapitalDataGrid.ItemsSource = null; dgvSupplies.ItemsSource = null; int _id_project = 0; if (projectViewSource.View.CurrentItem != null) { _id_project = ((project)projectViewSource.View.CurrentItem).id_project; } if (_id_project > 0) { var productlistbasic = (from IT in ProjectTaskDB.project_task where (IT.status == Status.Project.Approved || IT.status == Status.Project.InProcess) && IT.status != null && IT.id_project == _id_project join IK in ProjectTaskDB.item_product on IT.id_item equals IK.id_item //join PTD in ProjectTaskDB.purchase_tender_detail on IT.id_project_task equals PTD.purchase_tender_item.id_project_task into a //from IM in a.DefaultIfEmpty() group IT by new { IT.items } into last select new { _id_item = last.Key.items.id_item != 0 ? last.Key.items.id_item : 0, _code = last.Key.items != null ? last.Key.items.code : "", _name = last.Key.items != null ? last.Key.items.name : "", _id_task = last.Max(x => x.id_project_task), _ordered_quantity = last.Sum(x => x.quantity_est) != 0 ? last.Sum(x => x.quantity_est) : 0, //avlqtyColumn = last.Key.IM.quantity, //buyqty = (last.Sum(x => x.quantity_est) != 0 ? last.Sum(x => x.quantity_est) : 0) - (last.Key.IM.quantity != 0 ? last.Key.IM.quantity : 0), item = last.Key.items }).ToList(); var productlist = (from PL in productlistbasic group PL by new { PL.item } into last select new { _id_item = last.Key.item.id_item != 0 ? last.Key.item.id_item : 0, _code = last.Key.item != null ? last.Key.item.code : "", _name = last.Key.item != null ? last.Key.item.name : "", _id_task = last.Max(x => x._id_task), _ordered_quantity = last.Max(x => x._ordered_quantity), //avlqtyColumn = last.Sum(x => x.avlqtyColumn), //buyqty = last.Sum(x => x.avlqtyColumn) < last.Max(x => x._ordered_quantity) ? (last.Max(x => x._ordered_quantity) != 0 ? last.Max(x => x._ordered_quantity) : 0) - (last.Sum(x => x.avlqtyColumn) != 0 ? last.Sum(x => x.avlqtyColumn) : 0) : 0, item = last.Key.item }).ToList(); foreach (dynamic item in productlist) { int id_task = (int)item._id_task; Logistic Logistics = new Logistic(); if (ProjectTaskDB.project_task.Where(x => x.id_project_task == id_task).FirstOrDefault() != null) { project_task project_task = ProjectTaskDB.project_task.Where(x => x.id_project_task == id_task).FirstOrDefault(); Logistics.avlqtyColumn = project_task.purchase_tender_item.Sum(x => x.quantity); Logistics.buyqty = (decimal)item._ordered_quantity - (decimal)project_task.purchase_tender_item.Sum(x => x.quantity); } Logistics._id_item = item._id_item; Logistics._code = item._code; Logistics._name = item._name; Logistics._id_task = item._id_task; Logistics._ordered_quantity = item._ordered_quantity; Logistics.item = item.item; LogisticsList.Add(Logistics); } item_ProductDataGrid.ItemsSource = LogisticsList.Where(IT => IT.item.id_item_type == item.item_type.Product).ToList(); item_RawDataGrid.ItemsSource = LogisticsList.Where(IT => IT.item.id_item_type == item.item_type.RawMaterial).ToList(); var servicelist = (from IT in ProjectTaskDB.project_task where IT.status == Status.Project.Approved && IT.status != null && IT.id_project == _id_project group IT by new { IT.items } into last select new { _id_item = last.Key.items.id_item != 0 ? last.Key.items.id_item : 0, _code = last.Key.items != null ? last.Key.items.code : "", _name = last.Key.items != null ? last.Key.items.name : "", _id_task = last.Max(x => x.id_project_task), _ordered_quantity = last.Sum(x => x.quantity_est) != 0 ? last.Sum(x => x.quantity_est) : 0, item = last.Key.items }).ToList(); foreach (dynamic item in servicelist) { Logistic Logistics = new Logistic(); Logistics._id_item = item._id_item; Logistics._code = item._code; Logistics._name = item._name; Logistics._id_task = item._id_task; if (item._ordered_quantity == null) { Logistics._ordered_quantity = 0; } else { Logistics._ordered_quantity = item._ordered_quantity; } Logistics.item = item.item; LogisticsListService.Add(Logistics); } item_ServiceDataGrid.ItemsSource = LogisticsListService.Where(IT => IT.item.id_item_type == item.item_type.Service).ToList(); item_CapitalDataGrid.ItemsSource = LogisticsListService.Where(IT => IT.item.id_item_type == item.item_type.FixedAssets).ToList(); dgvServiceContract.ItemsSource = LogisticsListService.Where(IT => IT.item.id_item_type == item.item_type.ServiceContract).ToList(); dgvSupplies.ItemsSource = LogisticsListService.Where(IT => IT.item.id_item_type == item.item_type.Supplies).ToList();; } } //Clears out values until Logistic is selected. project_taskViewSource = ((CollectionViewSource)(this.FindResource("project_taskViewSource"))); if (project_taskViewSource != null) { //Bad code to clear out ViewSource. I did this to avoid an error. List <project_task> list = ProjectTaskDB.project_task.Where(IT => IT.id_company == 999).ToList(); project_taskViewSource.Source = list; } } catch //(Exception ex) { //Do thing to avoid error showing for small reasons. } }
private void CopyOrchardTicketsToSuiteCRM(TicketContext context, CopyOrchardProjectToSuiteViewModel.ProjectIdentifiers syncSettings) { if (syncSettings.OrchardCollaborationProjectId == null) { throw new ArgumentNullException("OrchardCollaborationProjectId must not be null"); } if (string.IsNullOrEmpty(syncSettings.SuiteCRMId)) { throw new ArgumentNullException("SuiteCRMId must not be null"); } var orchardTickets = this.searchTicketService.SearchByDatabase(new PagerParametersWithSortFields() { PageSize = 0 }, new PostedTicketSearchViewModel { ProjectId = syncSettings.OrchardCollaborationProjectId }); List <project_task> suiteCRMTasks = new List <project_task>(); if (!string.IsNullOrEmpty(syncSettings.SuiteCRMId)) { suiteCRMTasks.AddRange(context.ProjectTaskUnitOfWork.GetProjectTasks(syncSettings.SuiteCRMId)); } foreach (var ticket in orchardTickets) { var suiteCRMTaskPart = ticket.As <SuiteCRMTaskPart>(); if (suiteCRMTaskPart == null) { continue; } TicketPart ticketPart = ticket.As <TicketPart>(); ContentItemPermissionPart permissionPart = ticket.As <ContentItemPermissionPart>(); if (ticketPart == null) { continue; } if (!syncSettings.SyncSubTasks && ticketPart.Record.Parent != null) { continue; } project_task suiteCRMProjectTask = null; if (!string.IsNullOrEmpty(suiteCRMTaskPart.ExternalId)) { suiteCRMProjectTask = suiteCRMTasks.FirstOrDefault(c => c.id == suiteCRMTaskPart.ExternalId); } if (suiteCRMProjectTask == null) { suiteCRMProjectTask = new project_task(); suiteCRMProjectTask.project_id = syncSettings.SuiteCRMId; context.ProjectTaskUnitOfWork.Add(suiteCRMProjectTask); } CommonPart commonPart = ticketPart.As <CommonPart>(); DateTime? lastOrchardTicketChangeDate = commonPart.ModifiedUtc ?? commonPart.CreatedUtc; if (!syncSettings.DoNotOverrideNewerValues || suiteCRMProjectTask.date_modified == null || (lastOrchardTicketChangeDate.HasValue && suiteCRMProjectTask.date_modified.Value <= lastOrchardTicketChangeDate.Value)) { this.Copy(ticketPart, permissionPart, suiteCRMProjectTask, context); context.ProjectTaskUnitOfWork.Save(); } suiteCRMTaskPart.ExternalId = suiteCRMProjectTask.id; suiteCRMTaskPart.LastSyncTime = DateTime.UtcNow; suiteCRMTaskPart.TaskType = SuiteCRMTaskPart.SuiteCRMProjectTaskTypeValue; this.services.ContentManager.Publish(ticket.ContentItem); } }
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 Copy(TicketPart source, ContentItemPermissionPart sourcePermissionPart, project_task destination, TicketContext context) { destination.name = source.Record.Title.Length > 50 ? source.Record.Title.Substring(0, 50) : source.Record.Title; destination.task_number = source.Record.Identity != null ? (int?)source.Record.Identity.Id : null; // status if (source.Record.StatusRecord != null) { var status = context.StatusList.FirstOrDefault(c => c.Id == source.Record.StatusRecord.Id); if (status != null) { destination.status = status.Name; } } // priority if (source.Record.PriorityRecord != null) { var priority = context.Priorities.FirstOrDefault(c => c.Id == source.Record.PriorityRecord.Id); if (priority != null) { destination.priority = priority.Name; } } CommonPart commonPart = source.As <CommonPart>(); if (commonPart != null && commonPart.ModifiedUtc.HasValue) { destination.date_modified = commonPart.ModifiedUtc; } // assignee user destination.assigned_user_id = this.GetAssigneeUserExternalId(sourcePermissionPart); destination.created_by = this.GetOwnerUserExternalId(commonPart); }
public void project() { MySqlConnection conn = new MySqlConnection(_connString); MySqlCommand cmd = new MySqlCommand(); string sql_count = " select" + " sum(a.count)" + " from" + " ( select count(*) as count from project union all " + " select count(*) as count from project_category union all " + " select count(*) as count from project_task ) a "; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_count; cmd.CommandType = CommandType.Text; int count = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); int value = 0; Dispatcher.BeginInvoke((Action)(() => projectMaximum.Text = count.ToString())); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); Dispatcher.BeginInvoke((Action)(() => progProject.Maximum = count)); Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); string sql_proj_category = " SELECT * FROM project_category;"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj_category; cmd.CommandType = CommandType.Text; MySqlDataReader category_reader = cmd.ExecuteReader(); while (category_reader.Read()) { using (db db = new db()) { project_template project_template = new project_template(); project_template.name = category_reader.GetString("category"); project_template.is_active = true; db.project_template.Add(project_template); db.SaveChanges(); value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } conn.Close(); string sql_template = " SELECT project_template.*, project_category.category, item_sku.product FROM project_template " + " INNER JOIN project_category ON project_template.id_category = project_category.id" + " INNER JOIN item_sku ON project_template.id_sku = item_sku.id;"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_template; cmd.CommandType = CommandType.Text; MySqlDataReader template_reader = cmd.ExecuteReader(); while (template_reader.Read()) { using (db db = new db()) { project_template_detail project_template_detail = new project_template_detail(); string category = template_reader.GetString("category"); project_template_detail.id_project_template = db.project_template.Where(i => i.name == category).FirstOrDefault().id_project_template; project_template_detail.code = template_reader.GetString("task_number"); project_template_detail.item_description = template_reader.GetString("product"); if (db.items.Where(i => i.name == project_template_detail.item_description).FirstOrDefault() != null) { project_template_detail.id_item = db.items.Where(i => i.name == project_template_detail.item_description).FirstOrDefault().id_item; if (template_reader.GetInt16("id_task_rel") == 0) { //no parent. do nothing } else { //has parent string code = template_reader.GetString("task_number"); int pos = code.LastIndexOf('.'); if (pos >= 0) { code = code.Substring(0, pos); } project_template_detail.parent = db.project_template_detail.Where(p => p.code == code && p.id_project_template == project_template_detail.id_project_template) .FirstOrDefault(); } //Insert into Context & Save db.project_template_detail.Add(project_template_detail); db.SaveChanges(); } } } conn.Close(); string sql_proj = " SELECT * FROM project"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj; cmd.CommandType = CommandType.Text; MySqlDataReader proj_reader = cmd.ExecuteReader(); while (proj_reader.Read()) { using (db db = new db()) { db.Configuration.AutoDetectChangesEnabled = false; project project = new project(); project.id_project = proj_reader.GetInt32("id"); project.est_start_date = proj_reader.GetDateTime("begin_date"); if (proj_reader["id_contact"] is DBNull) { value += 1; continue; } else { project.id_contact = proj_reader.GetInt32("id_contact"); } project.name = proj_reader.GetString("project"); if (project.Error == null) { db.projects.Add(project); db.SaveChanges(); value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } } conn.Close(); string sql_proj_task = " SELECT project_task.*, project.project, item_sku.product,app_status.status FROM project_task " + " INNER JOIN project ON project_task.id_project = project.id" + " INNER JOIN item_sku ON project_task.id_sku = item_sku.id" + " INNER JOIN app_status ON project_task.id_status = app_status.id"; conn.Open(); cmd.Connection = conn; cmd.CommandText = sql_proj_task; cmd.CommandType = CommandType.Text; MySqlDataReader proj_task_reader = cmd.ExecuteReader(); while (proj_task_reader.Read()) { using (db db = new db()) { project_task project_task = new project_task(); string project = proj_task_reader.GetString("project"); project_task.id_project = db.projects.Where(i => i.name == project).FirstOrDefault().id_project; project_task.code = proj_task_reader.GetString("task_number"); string product = proj_task_reader.GetString("product"); if (db.items.Where(i => i.name == product).FirstOrDefault() != null) { project_task.item_description = db.items.Where(i => i.name == product).FirstOrDefault().name; project_task.id_item = db.items.Where(i => i.name == product).FirstOrDefault().id_item; if (proj_task_reader.GetString("status") == "Aprobado") { project_task.status = Status.Project.Approved; } else if (proj_task_reader.GetString("status") == "Pendiente") { project_task.status = Status.Project.Pending; } if (!(proj_task_reader["qty"] is DBNull)) { project_task.quantity_est = proj_task_reader.GetInt16("qty"); } if (proj_task_reader.GetInt16("id_task_rel") == 0) { //no parent. do nothing } else { //has parent string code = proj_task_reader.GetString("task_number"); //logic to have children if (project_task.quantity_est == null) { var pos = code.LastIndexOf('.'); if (pos >= 0) { code = code.Substring(0, pos); project_task.parent = db.project_task.Where(p => p.code == code && p.id_project == project_task.id_project ).FirstOrDefault(); } } else { project_task.parent = db.project_task.Where(p => p.code == code && p.id_project == project_task.id_project ).FirstOrDefault(); } } //if (project_task.Error == null) //{ db.project_task.Add(project_task); //} } else { } string sql_task = "SELECT * FROM project_task_dimension inner join app_dimension on app_dimension.id=project_task_dimension.id_dimension inner join project_task on project_task.id=project_task_dimension.id_task where id_task=" + proj_task_reader.GetInt32("id"); try { MySqlConnection conntask = new MySqlConnection(_connString); MySqlCommand cmdtask = new MySqlCommand(); conntask.Open(); cmdtask.Connection = conntask; cmdtask.CommandText = sql_task; cmdtask.CommandType = CommandType.Text; MySqlDataReader task_reader = cmdtask.ExecuteReader(); while (task_reader.Read()) { project_task_dimension project_task_dimension = new project_task_dimension(); string name = task_reader.GetString("dimension"); if (db.app_dimension.Where(x => x.name == name).FirstOrDefault() != null) { project_task_dimension.id_dimension = db.app_dimension.Where(x => x.name == name).FirstOrDefault().id_dimension; project_task_dimension.project_task = project_task; project_task_dimension.value = task_reader.GetInt32("value"); project_task_dimension.id_measurement = db.app_measurement.FirstOrDefault().id_measurement; if (project_task_dimension.Error == null) { db.project_task_dimension.Add(project_task_dimension); } } } task_reader.Close(); cmdtask.Dispose(); conntask.Close(); } catch (Exception ex) { throw ex; } IEnumerable <DbEntityValidationResult> validationresult = db.GetValidationErrors(); if (validationresult.Count() == 0) { try { db.SaveChanges(); } catch (Exception ex) { throw ex; } value += 1; Dispatcher.BeginInvoke((Action)(() => progProject.Value = value)); Dispatcher.BeginInvoke((Action)(() => projectValue.Text = value.ToString())); } } } cmd.Dispose(); conn.Close(); }