Пример #1
0
 private void toolBar_btnSearch_Click(object sender, string query)
 {
     if (!string.IsNullOrEmpty(query))
     {
         item_transferViewSource.View.Filter = i =>
         {
             item_transfer item_transfer = i as item_transfer;
             if (item_transfer != null)
             {
                 string number = item_transfer.number;
                 if (number != null)
                 {
                     if (number.ToLower().Contains(query.ToLower()))
                     {
                         return(true);
                     }
                 }
             }
             return(false);
         };
     }
     else
     {
         item_transferViewSource.View.Filter = null;
     }
 }
Пример #2
0
        private void crud_modal_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            // Selecteditem_movement = itemMovement.item_movement;
            if (crud_modal.Visibility == Visibility.Hidden)
            {
                item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
                if (item_transfer != null)
                {
                    item_transfer_detail item_transfer_detail = new item_transfer_detail();
                    item_transfer_detail.id_item_product      = ((item)cbxItem.Data).item_product.FirstOrDefault().id_item_product;
                    item_transfer_detail.item_product         = ((item)cbxItem.Data).item_product.FirstOrDefault();
                    item_transfer_detail.movement_id          = (int)itemMovement.item_movement.id_movement;
                    item_transfer_detail.quantity_destination = 1;
                    item_transfer_detail.quantity_origin      = 1;
                    item item = ((item)cbxItem.Data);
                    foreach (item_movement_dimension item_movement_dimension in itemMovement.item_movement.item_movement_dimension)
                    {
                        item_transfer_dimension item_transfer_dimension = new item_transfer_dimension();
                        item_transfer_dimension.id_transfer_detail = item_transfer_detail.id_transfer_detail;
                        item_transfer_dimension.id_dimension       = item_movement_dimension.id_dimension;
                        if (dbContext.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault() != null)
                        {
                            item_transfer_dimension.app_dimension = dbContext.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault();
                        }
                        item_transfer_dimension.value = item_movement_dimension.value;
                        item_transfer_detail.item_transfer_dimension.Add(item_transfer_dimension);
                    }

                    item_transfer.item_transfer_detail.Add(item_transfer_detail);
                }

                CollectionViewSource item_transferitem_transfer_detailViewSource = ((CollectionViewSource)(FindResource("item_transferitem_transfer_detailViewSource")));
                item_transferitem_transfer_detailViewSource.View.Refresh();
            }
        }
Пример #3
0
 private void toolBar_btnSearch_Click(object sender, string query)
 {
     if (!string.IsNullOrEmpty(query))
     {
         item_transferViewSource.View.Filter = i =>
         {
             item_transfer item_transfer = i as item_transfer;
             if (item_transfer != null)
             {
                 string number = item_transfer.number != null ? item_transfer.number : "";
                 string origin = item_transfer.app_location_origin.name != null ? item_transfer.app_location_origin.name : "";
                 //string
                 if (number.ToLower().Contains(query.ToLower()) || origin.ToLower().Contains(query.ToLower()))
                 {
                     return(true);
                 }
             }
             return(false);
         };
     }
     else
     {
         item_transferViewSource.View.Filter = null;
     }
 }
Пример #4
0
 private void set_ContactPref(object sender, EventArgs e)
 {
     if (sbxContact.ContactID > 0)
     {
         contact       contact       = dbContext.contacts.Where(x => x.id_contact == sbxContact.ContactID).FirstOrDefault();
         item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
         item_transfer.employee = contact;
     }
 }
Пример #5
0
        void insertDetail()
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
            item          item          = ((item)cbxItem.Data);

            if (item != null)
            {
                if (item.item_dimension.Count() > 0)
                {
                    crud_modal.Children.Clear();
                    itemMovement.id_item     = (int)((item)cbxItem.Data).id_item;
                    itemMovement.id_location = item_transfer.app_location_origin.id_location;
                    itemMovement.db          = ProductMovementDB;

                    crud_modal.Visibility = Visibility.Visible;
                    crud_modal.Children.Add(itemMovement);
                }
                else
                {
                    if (item_transfer != null)
                    {
                        item_transfer_detail item_transfer_detail = new item_transfer_detail();
                        item_transfer_detail.id_item_product      = ((item)cbxItem.Data).item_product.FirstOrDefault().id_item_product;
                        item_transfer_detail.item_product         = ((item)cbxItem.Data).item_product.FirstOrDefault();
                        item_transfer_detail.quantity_destination = 1;
                        item_transfer_detail.quantity_origin      = 1;

                        if (itemMovement.item_movement != null)
                        {
                            if (itemMovement.item_movement.item_movement_dimension != null)
                            {
                                foreach (item_movement_dimension item_movement_dimension in itemMovement.item_movement.item_movement_dimension)
                                {
                                    item_transfer_dimension item_transfer_dimension = new item_transfer_dimension();
                                    item_transfer_dimension.id_transfer_detail = item_transfer_detail.id_transfer_detail;
                                    item_transfer_dimension.id_dimension       = item_movement_dimension.id_dimension;

                                    if (dbContext.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault() != null)
                                    {
                                        item_transfer_dimension.app_dimension = dbContext.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault();
                                    }

                                    item_transfer_dimension.value = item_movement_dimension.value;
                                    item_transfer_detail.item_transfer_dimension.Add(item_transfer_dimension);
                                }
                            }
                        }

                        item_transfer.item_transfer_detail.Add(item_transfer_detail);
                    }

                    CollectionViewSource item_transferitem_transfer_detailViewSource = ((CollectionViewSource)(FindResource("item_transferitem_transfer_detailViewSource")));
                    item_transferitem_transfer_detailViewSource.View.Refresh();
                }
            }
        }
Пример #6
0
        public void Document_PrintItemRequest(int document_id, item_transfer item_transfer)
        {
            app_document app_document = null;
            string       PrinterName  = string.Empty;

            using (db db = new db())
            {
                if (db.app_document.Where(x => x.id_document == document_id).FirstOrDefault() != null)
                {
                    app_document = db.app_document.Where(x => x.id_document == document_id).FirstOrDefault();
                    PrinterName  = app_document.app_document_range.FirstOrDefault().printer_name;
                }
            }

            if (app_document != null && PrinterName != string.Empty)
            {
                if (app_document.style_reciept == true)
                {
                    Reciept     Reciept = new Reciept();
                    PrintDialog pd      = new PrintDialog();

                    FlowDocument document = new FlowDocument(new Paragraph(new Run(Reciept.ItemMovement(item_transfer))));
                    document.Name        = "ItemMovement";
                    document.FontFamily  = new FontFamily("Courier New");
                    document.FontSize    = 11.0;
                    document.FontStretch = FontStretches.Normal;
                    document.FontWeight  = FontWeights.Normal;

                    document.PagePadding = new Thickness(20);

                    document.PageHeight = double.NaN;
                    document.PageWidth  = double.NaN;
                    //document.

                    //Specify minimum page sizes. Origintally 283, but was too small.
                    document.MinPageWidth = 283;
                    //Specify maximum page sizes.
                    document.MaxPageWidth = 300;


                    IDocumentPaginatorSource idpSource = document;
                    try
                    {
                        pd.PrintQueue = new PrintQueue(new PrintServer(), PrinterName);
                        pd.PrintDocument(idpSource.DocumentPaginator, document.Name);
                    }
                    catch
                    {
                        if (pd.ShowDialog() == true)
                        {
                            pd.PrintDocument(idpSource.DocumentPaginator, document.Name);
                        }
                    }
                }
            }
        }
Пример #7
0
        private void toolBar_btnSave_Click(object sender)
        {
            item_transfer item_transfer = (item_transfer)item_transferViewSource.View.CurrentItem;

            item_transfer.app_branch_destination   = (id_branch_destinComboBox.SelectedItem as app_branch);
            item_transfer.app_branch_origin        = (id_branch_originComboBox.SelectedItem as app_branch);
            item_transfer.app_location_destination = (id_branch_destinComboBox.SelectedItem as app_branch).app_location.Where(x => x.is_default).FirstOrDefault();
            item_transfer.app_location_origin      = (id_branch_originComboBox.SelectedItem as app_branch).app_location.Where(x => x.is_default).FirstOrDefault();
            ProductTransferDB.SaveChanges();
        }
Пример #8
0
        //private void set_ContactPrefKeyStroke(object sender, KeyEventArgs e)
        //{
        //    if (e.Key == Key.Enter)
        //    {
        //        set_ContactPref(sender, e);
        //    }
        //}

        //private void set_ContactPref(object sender, EventArgs e)
        //{
        //    if (contactComboBox.Data != null)
        //    {
        //        int id = ((contact)contactComboBox.Data).id_contact;
        //        contact contact = dbContext.contacts.Where(x => x.id_contact == id).FirstOrDefault();
        //        contactComboBox.focusGrid = false;
        //        contactComboBox.Text = contact.name;

        //    }
        //}



        #endregion

        private void cbxBranch_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;

            if (item_transfer != null)
            {
                CollectionViewSource location_destViewSource = ((CollectionViewSource)(FindResource("location_destViewSource")));
                location_destViewSource.Source = dbContext.app_location.Where(a => a.is_active == true && a.id_branch == item_transfer.id_branch).OrderBy(a => a.name).ToList();
                CollectionViewSource location_originViewSource = ((CollectionViewSource)(FindResource("location_originViewSource")));
                location_originViewSource.Source = dbContext.app_location.Where(a => a.is_active == true && a.id_branch == item_transfer.id_branch).OrderBy(a => a.name).ToList();
            }
        }
Пример #9
0
        private void toolBar_btnNew_Click(object sender)
        {
            item_transfer item_transfer = new item_transfer();

            item_transfer.State             = System.Data.Entity.EntityState.Added;
            item_transfer.transfer_type     = entity.item_transfer.Transfer_type.transfer;
            item_transfer.IsSelected        = true;
            item_transfer.status            = Status.Transfer.Pending;
            item_transfer.app_branch_origin = ProductTransferDB.app_branch.Where(x => x.id_branch == CurrentSession.Id_Branch).FirstOrDefault();
            ProductTransferDB.Entry(item_transfer).State = EntityState.Added;

            item_transferViewSource.View.MoveCurrentToLast();
        }
Пример #10
0
 private void toolBar_btnEdit_Click(object sender)
 {
     if (item_transferDataGrid.SelectedItem != null)
     {
         item_transfer item_transfer = (item_transfer)item_transferDataGrid.SelectedItem;
         item_transfer.IsSelected = true;
         item_transfer.State      = EntityState.Modified;
     }
     else
     {
         toolBar.msgWarning("Please Select a record");
     }
 }
Пример #11
0
 private void toolBar_btnEdit_Click(object sender)
 {
     if (itemDataGrid.SelectedItem != null)
     {
         item_transfer item_transfer = (item_transfer)itemDataGrid.SelectedItem;
         item_transfer.IsSelected = true;
         item_transfer.State      = System.Data.Entity.EntityState.Modified;
         ProductTransferDB.Entry(item_transfer).State = EntityState.Modified;
     }
     else
     {
         toolBar.msgWarning("Please Select an Item");
     }
 }
Пример #12
0
        private void crud_modal_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            item          item          = ProductTransferDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault();
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;

            if (crud_modal.Visibility == Visibility.Hidden)
            {
                if (item != null &&
                    item.item_product != null &&
                    item_transfer != null &&
                    item.id_item_type != entity.item.item_type.Task &&
                    item.id_item_type != entity.item.item_type.Service &&
                    item.id_item_type != entity.item.item_type.ServiceContract)
                {
                    item_transfer_detail item_transfer_detail = new item_transfer_detail();

                    item_transfer_detail.status          = Status.Documents_General.Pending;
                    item_transfer_detail.quantity_origin = 1;

                    item_transfer_detail.timestamp        = DateTime.Now;
                    item_transfer_detail.movement_id      = (int)itemMovement.item_movement.id_movement;
                    item_transfer_detail.item_product     = item.item_product.FirstOrDefault();
                    item_transfer_detail.id_item_product  = item_transfer_detail.item_product.id_item_product;
                    item_transfer_detail.Quantity_InStock = (decimal)StockCalculations.Count_ByBranch((int)id_branch_originComboBox.SelectedValue, item_transfer_detail.item_product.id_item, DateTime.Now);
                    item_transfer_detail.RaisePropertyChanged("item_product");
                    foreach (item_movement_dimension item_movement_dimension in itemMovement.item_movement.item_movement_dimension)
                    {
                        item_transfer_dimension item_transfer_dimension = new item_transfer_dimension();
                        item_transfer_dimension.id_transfer_detail = item_transfer_detail.id_transfer_detail;
                        item_transfer_dimension.id_dimension       = item_movement_dimension.id_dimension;
                        if (ProductTransferDB.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault() != null)
                        {
                            item_transfer_dimension.app_dimension = ProductTransferDB.app_dimension.Where(x => x.id_dimension == item_movement_dimension.id_dimension).FirstOrDefault();
                        }
                        item_transfer_dimension.value = item_movement_dimension.value;
                        item_transfer_detail.item_transfer_dimension.Add(item_transfer_dimension);
                    }
                    item_transfer.item_transfer_detail.Add(item_transfer_detail);
                }
                else
                {
                    toolBar.msgWarning("Item Error");
                }

                item_transferViewSource.View.Refresh();
                item_transferitem_transfer_detailViewSource.View.Refresh();
            }
        }
Пример #13
0
        private void toolBar_btnApproveDestination_Click(object sender)
        {
            TransferSetting TransferSetting = new Product.TransferSetting();

            item_transfer item_transfer = (item_transfer)itemDataGrid.SelectedItem;

            item_transfer.IsSelected = true;

            int NumberOfRecords = ProductTransferDB.ApproveDestination((int)id_branch_originComboBox.SelectedValue, (int)id_branch_destinComboBox.SelectedValue, TransferSetting.movebytruck);

            if (NumberOfRecords > 0)
            {
                itemMovement = new Configs.itemMovement();
                toolBar.msgSaved(NumberOfRecords);
            }
        }
Пример #14
0
        private void toolBar_btnPrint_Click(object sender, MouseButtonEventArgs e)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;

            if (item_transfer != null)
            {
                if (item_transfer.app_document_range != null)
                {
                    entity.Brillo.Document.Start.Manual(item_transfer, item_transfer.app_document_range);
                }
            }
            else
            {
                toolBar.msgWarning("Please select");
            }
        }
Пример #15
0
        private void toolBar_btnNew_Click(object sender)
        {
            try
            {
                item_transfer item_transfer = new item_transfer();
                item_transfer.State                  = EntityState.Added;
                item_transfer.transfer_type          = entity.item_transfer.Transfer_type.movemnent;
                item_transfer.IsSelected             = true;
                item_transfer.status                 = Status.Transfer.Pending;
                dbContext.Entry(item_transfer).State = EntityState.Added;

                item_transferViewSource.View.MoveCurrentToLast();
            }
            catch (Exception ex)
            {
                toolBar.msgError(ex);
            }
        }
Пример #16
0
 private void DeleteCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     try
     {
         MessageBoxResult result = MessageBox.Show("Are you sure want to Delete?", "Delete", MessageBoxButton.YesNo, MessageBoxImage.Question);
         if (result == MessageBoxResult.Yes)
         {
             item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
             //DeleteDetailGridRow
             item_transfer_detailDataGrid.CancelEdit();
             ProductTransferDB.item_transfer_detail.Remove(e.Parameter as item_transfer_detail);
             item_transferitem_transfer_detailViewSource.View.Refresh();
         }
     }
     catch (Exception ex)
     {
         toolBar.msgError(ex);
     }
 }
Пример #17
0
        private void btnCheckDestination_Click(object sender, RoutedEventArgs e)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
            ToggleButton  button        = sender as ToggleButton;

            if (item_transfer != null && button != null)
            {
                foreach (item_transfer_detail item_transfer_detail in item_transfer.item_transfer_detail)
                {
                    if ((bool)button.IsChecked)
                    {
                        item_transfer_detail.IsSelected = true;
                    }
                    else
                    {
                        item_transfer_detail.IsSelected = false;
                    }
                }
            }
        }
Пример #18
0
        private void toolBar_btnApproveOrigin_Click(object sender)
        {
            try
            {
                item_transfer item_transfer = (item_transfer)item_transferViewSource.View.CurrentItem;
                item_transfer.app_branch_destination   = (id_branch_destinComboBox.SelectedItem as app_branch);
                item_transfer.app_branch_origin        = (id_branch_originComboBox.SelectedItem as app_branch);
                item_transfer.app_location_destination = (id_branch_destinComboBox.SelectedItem as app_branch).app_location.Where(x => x.is_default).FirstOrDefault();
                item_transfer.app_location_origin      = (id_branch_originComboBox.SelectedItem as app_branch).app_location.Where(x => x.is_default).FirstOrDefault();

                TransferSetting TransferSetting = new Product.TransferSetting();

                int NumberofRecords = ProductTransferDB.ApproveOrigin((int)id_branch_originComboBox.SelectedValue, (int)id_branch_destinComboBox.SelectedValue, TransferSetting.movebytruck);
                toolBar.msgSaved(NumberofRecords);
                item_transferViewSource.View.Refresh();
            }
            catch (Exception ex)
            {
                toolBar.msgError(ex);
            }
        }
Пример #19
0
        public void Document_Print(int document_id, object obj)
        {
            app_document app_document;
            string       PrinterName;
            string       Content = "";


            using (db db = new db())
            {
                app_document = db.app_document.Where(x => x.id_document == document_id).FirstOrDefault();
                PrinterName  = app_document.app_document_range.FirstOrDefault().printer_name;

                if (app_document.id_application == App.Names.Movement)
                {
                    item_transfer item_transfer = (item_transfer)obj;
                    Content = ItemMovement(item_transfer);
                    Print(Content, app_document, PrinterName);
                }
                else if (app_document.id_application == App.Names.SalesReturn)
                {
                    sales_return sales_return = (sales_return)obj;
                    Content = SalesReturn(sales_return);
                    Print(Content, app_document, PrinterName);
                }
                else if (app_document.id_application == App.Names.SalesInvoice)
                {
                    sales_invoice sales_invoice = (sales_invoice)obj;
                    Content = SalesInvoice(sales_invoice);
                    Print(Content, app_document, PrinterName);
                }
                else if (app_document.id_application == App.Names.PaymentUtility)
                {
                    payment payment = (payment)obj;
                    Content = Payment(payment);
                    Print(Content, app_document, PrinterName);
                }
            }
        }
Пример #20
0
        public string ItemMovement(item_transfer i)
        {
            string Header = string.Empty;
            string Detail = string.Empty;
            string Footer = string.Empty;

            string CompanyName = string.Empty;

            using (db db = new db())
            {
                CompanyName = db.app_company.Where(x => x.id_company == i.id_company).FirstOrDefault().name;
            }

            string   TransNumber = i.number;
            DateTime TransDate   = i.trans_date;
            string   BranchName  = string.Empty;

            if (i.app_location_origin != null)
            {
                if (i.app_location_origin.app_branch != null)
                {
                    BranchName = i.app_location_origin.app_branch.name;
                }
            }

            string UserGiven = string.Empty;

            if (i.user_given != null)
            {
                UserGiven = i.user_given.name_full;
            }

            string DepartmentName = string.Empty;

            if (i.app_department != null)
            {
                DepartmentName = i.app_department.name;
            }
            string ProjectName = string.Empty;
            string ProjectCode = string.Empty;

            if (i.project != null)
            {
                ProjectName = i.project.name;
                ProjectCode = i.project.code;
            }


            Header =
                CompanyName + "\n"
                + "Registro de PMD. Transaccion: " + TransNumber + "\n"
                + "Fecha y Hora: " + TransDate.ToString() + "\n"
                + "Local Expendido: " + BranchName + "\n"
                + "\n"
                + "Entrega: " + UserGiven + "\n"
                + "Sector: " + DepartmentName + "\n"
                + "Project: " + ProjectCode + " - " + ProjectName + "\n"
                + "-------------------------------"
                + "\n"
                + "Cantiad, Codigo, Description" + "\n";

            foreach (item_transfer_detail d in i.item_transfer_detail)
            {
                if (d.project_task != null)
                {
                    if (d.project_task.parent != null)
                    {
                        Detail += "ACTIV. : " + d.project_task.parent.item_description + "\n";
                    }

                    foreach (project_task project_task in d.project_task.child)
                    {
                        string ItemName = string.Empty;
                        string ItemCode = string.Empty;

                        if (d.project_task.items != null)
                        {
                            ItemName = d.project_task.items.name;
                            ItemCode = d.project_task.code;
                        }


                        decimal?Qty      = d.project_task.quantity_est;
                        string  TaskName = d.project_task.item_description;
                        string  TaskCode = d.project_task.items.code;

                        Detail = Detail +
                                 ""
                                 + "-------------------------------" + "\n"
                                 + Qty.ToString() + ItemCode + "\n"
                                 + ItemName;

                        if (d.project_task.project_task_dimension.Count() > 0)
                        {
                            Detail = Detail + "Dimension, Value, Measurement" + "\n";
                        }
                        foreach (project_task_dimension project_task_dimension in d.project_task.project_task_dimension)
                        {
                            decimal value       = project_task_dimension.value;
                            string  name        = project_task_dimension.app_dimension != null ? project_task_dimension.app_dimension.name : "";
                            string  measurement = project_task_dimension.app_measurement != null ? project_task_dimension.app_measurement.name : "";
                            string  dimension   = "-------------------------------" + "\n"
                                                  + name + "\t" + value + "\t" + measurement + "\n";
                            Detail = Detail + dimension + "\n";
                        }

                        //}
                    }
                }
                else
                {
                    if (d.item_product != null)
                    {
                        if (d.item_product.item != null)
                        {
                            Detail += "ACTIV. : " + d.item_product.item.description + "\n";
                            string ItemName = string.Empty;
                            string ItemCode = string.Empty;

                            if (d.item_product.item != null)
                            {
                                ItemName = d.item_product.item.name;
                                ItemCode = d.item_product.item.code;
                            }


                            decimal?Qty = d.quantity_destination;


                            Detail = Detail
                                     + "-------------------------------" + "\n"
                                     + Qty.ToString() + "\t" + ItemCode + "\n"
                                     + ItemName;

                            if (d.item_transfer_dimension.Count() > 0)
                            {
                                Detail = Detail +
                                         "-------------------------------" + "\n"
                                         + "Dimension, Value, Measurement" + "\n";
                            }
                            foreach (item_transfer_dimension item_transfer_dimension in d.item_transfer_dimension)
                            {
                                decimal value     = item_transfer_dimension.value;
                                string  name      = item_transfer_dimension.app_dimension != null ? item_transfer_dimension.app_dimension.name : "";
                                string  dimension = "\n"
                                                    + name + "\t" + value + "\n";
                                Detail = Detail + dimension + "\n";
                            }
                        }
                    }
                }
            }
            Footer = "-------------------------------\n";
            if (i.employee != null)
            {
                Footer += "RETIRADO: " + i.employee.name + "\n";
            }
            if (i.user_given != null)
            {
                Footer += "APRORADO: " + i.user_given.name_full + "\n";
            }


            Footer += "-------------------------------";

            string Text = Header + Detail + Footer;

            return(Text);
        }
Пример #21
0
        private void toolBar_btnApprove_Click(object sender)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;

            if ((item_transfer.number == null || item_transfer.number == string.Empty) && item_transfer.app_document_range != null)
            {
                entity.Brillo.Logic.Document _Document = new entity.Brillo.Logic.Document();
                if (item_transfer.id_branch > 0)
                {
                    if (dbContext.app_branch.Where(x => x.id_branch == item_transfer.id_branch).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.branch_Code = dbContext.app_branch.Where(x => x.id_branch == item_transfer.id_branch).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_terminal > 0)
                {
                    if (dbContext.app_terminal.Where(x => x.id_terminal == item_transfer.id_terminal).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.terminal_Code = dbContext.app_terminal.Where(x => x.id_terminal == item_transfer.id_terminal).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_user > 0)
                {
                    if (dbContext.security_user.Where(x => x.id_user == item_transfer.id_user).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.user_Code = dbContext.security_user.Where(x => x.id_user == item_transfer.id_user).FirstOrDefault().code;
                    }
                }
                if (item_transfer.id_project > 0)
                {
                    if (dbContext.projects.Where(x => x.id_project == item_transfer.id_project).FirstOrDefault() != null)
                    {
                        entity.Brillo.Logic.Range.project_Code = dbContext.projects.Where(x => x.id_project == item_transfer.id_project).FirstOrDefault().code;
                    }
                }

                app_document_range app_document_range = item_transfer.app_document_range;
                item_transfer.number = entity.Brillo.Logic.Range.calc_Range(app_document_range, true);
            }

            item_transfer.user_requested = dbContext.security_user.Where(x => x.id_user == CurrentSession.Id_User).FirstOrDefault();
            item_transfer.user_given     = dbContext.security_user.Where(x => x.id_user == CurrentSession.Id_User).FirstOrDefault();
            item_transfer.status         = Status.Transfer.Approved;

            dbContext.SaveChanges();

            for (int i = 0; i < item_transfer_detailDataGrid.Items.Count; i++)
            {
                entity.Brillo.Logic.Stock stock = new entity.Brillo.Logic.Stock();

                item_transfer_detail item_transfer_detail = (item_transfer_detail)item_transfer_detailDataGrid.Items[i];

                List <entity.Brillo.StockList> Items_InStockLIST;
                app_currencyfx app_currencyfx = ProductMovementDB.app_currencyfx.Where(x => x.app_currency.is_active).FirstOrDefault();
                app_location   app_location   = item_transfer_detail.item_transfer.app_location_origin;

                if (itemMovement.item_movement != null)
                {
                    entity.Brillo.Stock stockBrillo = new entity.Brillo.Stock();
                    Items_InStockLIST = stockBrillo.ScalarMovement(itemMovement.item_movement);
                }
                else
                {
                    entity.Brillo.Stock stockBrillo = new entity.Brillo.Stock();
                    Items_InStockLIST = stockBrillo.List(app_location.app_branch, app_location, item_transfer_detail.item_product);
                }

                ///Debit Movement from Origin.
                List <item_movement> item_movement_originList;
                item_movement_originList = stock.DebitOnly_MovementLIST(ProductMovementDB, Items_InStockLIST, Status.Stock.InStock, entity.App.Names.Movement, item_transfer_detail.id_transfer, item_transfer_detail.id_transfer_detail, app_currencyfx, item_transfer_detail.item_product, app_location,
                                                                        item_transfer_detail.quantity_origin, item_transfer_detail.item_transfer.trans_date, stock.comment_Generator(entity.App.Names.Movement, item_transfer_detail.item_transfer.number != null ? item_transfer_detail.item_transfer.number.ToString() : "", ""));

                ProductMovementDB.item_movement.AddRange(item_movement_originList);

                //Credit Movement to Destination
                item_movement item_movement_dest;
                item_movement parent_item_movement = item_movement_originList.FirstOrDefault();

                List <item_movement_dimension> DimensionList = null;

                if (item_movement_originList.FirstOrDefault().item_movement_dimension.Count() > 0)
                {
                    DimensionList = new List <item_movement_dimension>();
                    foreach (item_movement_dimension item_movement_dimension in item_movement_originList.FirstOrDefault().item_movement_dimension)
                    {
                        item_movement_dimension _item_movement_dimension = new item_movement_dimension();
                        _item_movement_dimension.id_dimension = item_movement_dimension.id_dimension;
                        _item_movement_dimension.value        = item_movement_dimension.value;
                        DimensionList.Add(_item_movement_dimension);
                    }
                }

                item_movement_dest =
                    stock.CreditOnly_Movement(
                        Status.Stock.InStock,
                        entity.App.Names.Movement,
                        item_transfer_detail.id_transfer,
                        item_transfer_detail.id_transfer_detail,
                        app_currencyfx,
                        item_transfer_detail.item_product,
                        item_transfer_detail.item_transfer.app_location_destination,
                        item_transfer_detail.quantity_destination,
                        item_transfer_detail.item_transfer.trans_date,
                        item_movement_originList.Sum(x => (x.item_movement_value.Sum(y => y.unit_value) / (x.item_movement_value.Count() != 0 ? x.item_movement_value.Count() : 1))),
                        stock.comment_Generator(entity.App.Names.Movement, item_transfer_detail.item_transfer.number != null ? item_transfer_detail.item_transfer.number.ToString() : "", ""),
                        DimensionList
                        );
                //item_movement_dest._parent = Items_InStockLIST.FirstOrDefault();
                ProductMovementDB.item_movement.Add(item_movement_dest);
                item_transfer.status = Status.Transfer.Approved;
            }

            if (item_transfer.status == Status.Transfer.Approved && item_transfer.app_document_range != null)
            {
                entity.Brillo.Document.Start.Automatic(item_transfer, item_transfer.app_document_range);
            }

            if (ProductMovementDB.SaveChanges() > 0)
            {
                toolBar.msgSaved(ProductMovementDB.NumberOfRecords);
                itemMovement = new Configs.itemMovement();
            }
        }
Пример #22
0
        private void SmartBox_Item_Select(object sender, RoutedEventArgs e)
        {
            item_transfer item_transfer = item_transferViewSource.View.CurrentItem as item_transfer;
            item          item          = ProductTransferDB.items.Where(x => x.id_item == sbxItem.ItemID).FirstOrDefault();

            if (item != null)
            {
                if (item.item_dimension.Count() > 0)
                {
                    crud_modal.Children.Clear();
                    itemMovement.id_item     = item.id_item;
                    itemMovement.id_location = item_transfer.app_branch_origin.app_location.FirstOrDefault().id_location;
                    itemMovement.db          = ProductTransferDB;

                    crud_modal.Visibility = Visibility.Visible;
                    crud_modal.Children.Add(itemMovement);
                }
                else
                {
                    if (item != null &&
                        item.item_product != null &&
                        item_transfer != null &&
                        item.id_item_type != entity.item.item_type.Task &&
                        item.id_item_type != entity.item.item_type.Service &&
                        item.id_item_type != entity.item.item_type.ServiceContract)
                    {
                        item_transfer_detail item_transfer_detail = new item_transfer_detail();

                        item_transfer_detail.status          = Status.Documents_General.Pending;
                        item_transfer_detail.quantity_origin = 1;

                        int BranchID = (int)id_branch_originComboBox.SelectedValue;

                        item_transfer_detail.Quantity_InStock = (decimal)StockCalculations.Count_ByBranch(BranchID, item.id_item, DateTime.Now);

                        if (item_transfer_detail.quantity_origin < item_transfer_detail.Quantity_InStock)
                        {
                            item_transfer_detail.StockLevel = Status.Documents_General.Pending;
                        }
                        else
                        {
                            item_transfer_detail.StockLevel = Status.Documents_General.Annulled;
                        }

                        item_transfer_detail.timestamp       = DateTime.Now;
                        item_transfer_detail.item_product    = item.item_product.FirstOrDefault();
                        item_transfer_detail.id_item_product = item_transfer_detail.item_product.id_item_product;
                        item_transfer_detail.RaisePropertyChanged("item_product");

                        item_transfer.item_transfer_detail.Add(item_transfer_detail);
                    }
                    else
                    {
                        toolBar.msgWarning("Item Error");
                    }

                    item_transferViewSource.View.Refresh();
                    item_transferitem_transfer_detailViewSource.View.Refresh();
                }
            }
        }