private bool AddOrEditEntityObject(bool add = false)
        {
            if (add)
            {
                model = new IssueDocumentPosition(session);
                model.IssueDocumentPositionID = 0;
            }
            else if (!add && model == null)
            {
                model = GetIssueDocumentProvider().GetIssueDocumentPositionModel();
            }

            model.IssueDocumentID = issueDocumentRepo.GetIssueDocumentByID(GetIntValueFromSession(Enums.IssueDocumentSession.IssueDocumentID), model.Session);

            int supplierID = CommonMethods.ParseInt(GetGridLookupValue(GridLookupSupplier));

            if (model.SupplierID != null)
            {
                model.SupplierID = clientRepo.GetClientByID(supplierID, model.SupplierID.Session);
            }
            else
            {
                model.SupplierID = clientRepo.GetClientByID(supplierID, model.Session);
            }

            //model.Quantity = CommonMethods.ParseDecimal(txtQuantity.Text);
            model.UID250 = !String.IsNullOrEmpty(txtUID250.Text) ? txtUID250.Text : model.UID250;
            //model.Name = txtName.Text;
            model.Notes = MemoNotes.Text;

            issueDocumentRepo.SaveIssueDocumentPosition(model, PrincipalHelper.GetUserID());

            return(true);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (userAction != (int)Enums.UserAction.Add)
                {
                    model = issueDocumentRepo.GetIssueDocumentPositionByID(issueDocumentPosID);

                    if (model != null)
                    {
                        GetIssueDocumentProvider().SetIssueDocumentPositionModel(model);
                        FillForm();
                    }
                }

                UserActionConfirmBtnUpdate(btnConfirm, userAction, true);
            }
            else
            {
                if (model == null && SessionHasValue(Enums.IssueDocumentSession.IssueDocumentPositionModel))
                {
                    model = GetIssueDocumentProvider().GetIssueDocumentPositionModel();
                }
            }
        }
 public bool DeleteIssueDocumentPosition(IssueDocumentPosition model)
 {
     try
     {
         model.Delete();
         return(true);
     }
     catch (Exception ex)
     {
         string error = "";
         CommonMethods.getError(ex, ref error);
         throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_39, error, CommonMethods.GetCurrentMethodName()));
     }
 }
        protected void CallbakcPanel_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e)
        {
            string[] split = e.Parameter.Split(';');

            if (split[0] == "SearchByUID")
            {
                AddValueToSession(Enums.IssueDocumentSession.SearchUIDValue, txtUIDSearchString.Text);
                PopupControlSearchInventory.ShowOnPageLoad = true;
            }
            else if (split[0] == "FillIssueDocument")
            {
                var inventory = inventoryRepo.GetInventoryDeliveriesByID(CommonMethods.ParseInt(split[1]));

                if (inventory != null)
                {
                    if (userAction == (int)Enums.UserAction.Add)
                    {
                        model = new IssueDocumentPosition(session);
                        model.IssueDocumentPositionID = 0;
                        model.ProductID = productRepo.GetProductByID(inventory.InventoryStockID.ProductID.ProductID, inventory.InventoryStockID.ProductID.Session);

                        AddValueToSession(Enums.CommonSession.UserActionPopUp, (int)Enums.UserAction.Edit);
                    }
                    else
                    {
                        model           = GetIssueDocumentProvider().GetIssueDocumentPositionModel();
                        model.ProductID = productRepo.GetProductByID(inventory.InventoryStockID.ProductID.ProductID, inventory.InventoryStockID.ProductID.Session);
                    }

                    model.UID250             = txtUID250.Text = inventory.AtomeUID250;
                    GridLookupSupplier.Value = inventory.DeliveryNoteItemID.DeliveryNoteID.SupplierID.ClientID;
                    model.Name = txtName.Text = inventory.InventoryStockID.ProductID.Name;
                    txtUIDSearchString.Text = "";
                    int count = inventoryRepo.CountInventoryDeliverisByPackageUID(model.UID250);
                    txtQuantity.Text = count.ToString();
                    model.Quantity   = count;

                    GetIssueDocumentProvider().SetIssueDocumentPositionModel(model);
                }
            }
        }
        public int SaveIssueDocumentPosition(IssueDocumentPosition model, int userID = 0)
        {
            try
            {
                model.tsUpdate       = DateTime.Now;
                model.tsUpdateUserID = userID;

                if (model.IssueDocumentPositionID == 0)
                {
                    model.tsInsert       = DateTime.Now;
                    model.tsInsertUserID = userID;
                }

                model.Save();

                return(model.IssueDocumentPositionID);
            }
            catch (Exception ex)
            {
                string error = "";
                CommonMethods.getError(ex, ref error);
                throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_38, error, CommonMethods.GetCurrentMethodName()));
            }
        }
示例#6
0
 public void SetIssueDocumentPositionModel(IssueDocumentPosition model)
 {
     AddValueToSession(Enums.IssueDocumentSession.IssueDocumentPositionModel, model);
 }
        public int CreateIssueDocumentFromMobileTransactions(List <int> mobileTransactionsID, int userID, int buyerID)
        {
            UnitOfWork uow = XpoHelper.GetNewUnitOfWork();
            XPQuery <MobileTransaction>   mobileTrans   = uow.Query <MobileTransaction>();
            XPQuery <InventoryDeliveries> invDeliveries = uow.Query <InventoryDeliveries>();

            var mobileTransactions = mobileTrans.Where(mt => mobileTransactionsID.Any(mti => mti == mt.MobileTransactionID)).ToList();

            if (mobileTransactions != null && mobileTransactions.Count > 0)
            {
                var buyer = clientRepo.GetClientByID(buyerID, session);
                //from locationID we get buyer
                IssueDocument document = new IssueDocument(session);

                document.IssueDocumentID  = 0;
                document.IssueNumber      = GetNextIssueDocumentNumber();
                document.BuyerID          = buyer;
                document.IssueStatus      = GetIssueDocumentStatusByCode(Enums.IssueDocumentStatus.DELOVNA);
                document.IssueDate        = DateTime.Now;
                document.Name             = $"Izdaja materiala za kupca: {buyer.Name}";
                document.Notes            = "Prenos iz mobilnih transkacij";
                document.InternalDocument = "000000";
                document.InvoiceNumber    = DateTime.Now.Year.ToString() + "/000000";
                document.tsInsert         = DateTime.Now;
                document.tsInsertUserID   = userID;
                document.tsUpdate         = DateTime.Now;
                document.tsUpdateUserID   = userID;

                document.Save();

                var issueDocument         = GetIssueDocumentByID(document.IssueDocumentID, uow);
                IssueDocumentPosition pos = null;
                foreach (var item in mobileTransactions)
                {
                    pos = new IssueDocumentPosition(uow);

                    pos.IssueDocumentID = issueDocument;
                    pos.SupplierID      = clientRepo.GetClientByID(item.SupplierID.ClientID, uow);

                    //Kosovna količina
                    pos.Quantity = item.Quantity <= 0 ? invDeliveries.Count(inv => inv.PackagesUIDs.Contains(item.UIDCode)) : item.Quantity;// če se še ni shranila količina na mobilnih transkacijah jo poiščemo v invnetoryDeliveries

                    pos.UID250              = item.UIDCode;
                    pos.Name                = item.ProductID.Name;
                    pos.Notes               = "Prenos iz mobilnih transakcij";
                    pos.tsInsert            = DateTime.Now;
                    pos.tsInsertUserID      = userID;
                    pos.tsUpdate            = DateTime.Now;
                    pos.tsUpdateUserID      = userID;
                    pos.ProductID           = productRepo.GetProductByID(item.ProductID.ProductID, uow);
                    pos.MobileTransactionID = item;
                }

                uow.CommitChanges();


                return(document.IssueDocumentID);
            }

            return(-1);
        }