Пример #1
0
        private void buttonStockTransfer_Click(object sender, EventArgs e)
        {
            StockTransfer st = new StockTransfer();

            st.MdiParent = this;
            st.Show();
        }
Пример #2
0
        public long Save(DateTime valueDate, string referenceNumber, string statementReference, string data)
        {
            try
            {
                Collection <StockAdjustmentDetail> stockTransferModels = GetModels(data);

                foreach (StockAdjustmentDetail model in stockTransferModels)
                {
                    if (model.TransferTypeEnum == TransactionTypeEnum.Credit)
                    {
                        decimal existingQuantity = Items.CountItemInStock(AppUsers.GetCurrentUserDB(), model.ItemCode,
                                                                          model.UnitName, model.StoreName);

                        if (existingQuantity < model.Quantity)
                        {
                            throw new MixERPException(string.Format(CultureInfo.CurrentCulture,
                                                                    Errors.InsufficientStockWarning, Conversion.TryCastInteger(existingQuantity),
                                                                    model.UnitName, model.ItemName));
                        }
                    }
                }

                int  officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt();
                int  userId   = AppUsers.GetCurrentLogin().View.UserId.ToInt();
                long loginId  = AppUsers.GetCurrentLogin().View.LoginId.ToLong();

                return(StockTransfer.Add(AppUsers.GetCurrentUserDB(), officeId, userId, loginId, valueDate,
                                         referenceNumber, statementReference, stockTransferModels));
            }
            catch (Exception ex)
            {
                Log.Warning("Could not save inventory transfer entry. {Exception}", ex);
                throw;
            }
        }
Пример #3
0
 public void btnSave_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(this.txtBillCode.Text))
     {
         using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
         {
             if (!string.IsNullOrEmpty(Request.QueryString["StockTransferID"]))
             {
                 var t = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == int.Parse(Request.QueryString["StockTransferID"]));
                 //if (db.StorageIn.SingleOrDefault(u => u.StorageInCode == this.txtBillCode.Text.Trim()) != null)
                 //{
                 //    ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('单据编码重复!')</script>");
                 //    return;
                 //}
                 t.CreateTime       = this.DateTimeStorageIn.SelectedDate;
                 t.StockTransferNum = this.txtBillCode.Text.Trim();
                 t.Remark           = this.txtRemark.Text.Trim();
                 t.Creater          = reEmpId(SPContext.Current.Web.CurrentUser.LoginName);
                 db.SubmitChanges();
                 Response.Redirect("StockTransferManager.aspx");
             }
             else
             {
                 StockTransfer stt = new StockTransfer();
                 stt.CreateTime       = this.DateTimeStorageIn.SelectedDate;
                 stt.StockTransferNum = this.txtBillCode.Text.Trim();
                 stt.Remark           = this.txtRemark.Text.Trim();
                 stt.Creater          = reEmpId(SPContext.Current.Web.CurrentUser.LoginName);
                 db.StockTransfer.InsertOnSubmit(stt);
                 db.SubmitChanges();
                 Response.Redirect("StockTransferManager.aspx");
             }
         }
     }
 }
Пример #4
0
        protected void tbarbtnDelte_Click(object sender, EventArgs e)
        {
            int             n          = 0;
            List <CheckBox> listString = GetCheckedID();

            foreach (CheckBox cb in listString)
            {
                //3表删除
                using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
                {
                    int           intID = int.Parse(cb.ToolTip);
                    StockTransfer st    = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == intID);
                    var           stds  = db.StockTransferDetail.Where(a => a.StockTransferID == st.StockTransferID);
                    var           stts  = db.StockTransferTask.Where(a => a.StockTransferID == st.StockTransferID && a.TaskInType == "移库任务");
                    //判断stts的数量
                    if (stts.ToList().Count > 0)
                    {
                        n++;
                        continue;
                    }
                    db.StockTransferDetail.DeleteAllOnSubmit(stds);
                    db.StockTransferTask.DeleteAllOnSubmit(stts);
                    db.StockTransfer.DeleteOnSubmit(st);
                    db.SubmitChanges();
                }
            }
            if (n > 0)
            {
                ClientScript.RegisterClientScriptBlock(typeof(string), "提示", "<script>alert('所选择的调拨单中,有" + n.ToString() + "条记录已进入移库流程的不能删除!')</script>");
            }
            //Response.Redirect("StockTransferManager.aspx");
            Response.AddHeader("Refresh", "0");
        }
        private void loadAllItemsToView()
        {
            try {
                addStockTransfer.grid_itemFinder.IsEnabled     = false;
                addStockTransfer.button_saveTransfer.IsEnabled = false;
                addStockTransfer.button_addItem.IsEnabled      = false;
                addStockTransfer.dataGrid.IsEnabled            = false;
                StockTransfer stockTransfer = getStockTransferById(addStockTransfer.SelectedStockTransferID);
                if (stockTransfer != null)
                {
                    addStockTransfer.comboBox_from_selectStock.SelectedValue  = stockTransfer.FromLocationId;
                    addStockTransfer.comboBox_to_selectStock.SelectedValue    = stockTransfer.ToLocationId;
                    addStockTransfer.datePicker_date_selectStock.SelectedDate = stockTransfer.Date;
                    addStockTransfer.textBox_carrierName_selectStock.Text     = stockTransfer.Carrier;
                    addStockTransfer.textBox_details_selectStock.Text         = stockTransfer.Details;

                    StockTransferItem sti = new StockTransferItem();
                    sti.StockTransferId = stockTransfer.Id;
                    List <StockTransferItem> list = getTransferItem(sti);
                    foreach (StockTransferItem stockTransferItem in list)
                    {
                        Item item = itemManagerImpl.getItemById(stockTransferItem.ItemId);
                        addStockTransfer.DataTable.Rows.Add(stockTransferItem.Id, item.Name + " (" + companyManagerImpl.getCompanyNameById(item.CompanyId) + ")", stockTransferItem.Quantity);
                    }
                }
            } catch (Exception) {
            }
        }
        private StockTransfer getStockTransferForFilter()
        {
            StockTransfer stockTransfer = null;

            try {
                stockTransfer = new StockTransfer();
                stockTransfer.FromLocationId = Convert.ToInt32(stockTransferHistory.comboBox_stockLocationFrom_filter.SelectedValue);
                stockTransfer.ToLocationId   = Convert.ToInt32(stockTransferHistory.comboBox_stockLocationTo_filter.SelectedValue);
                if (stockTransferHistory.datePicker_from_filter.SelectedDate != null && stockTransferHistory.datePicker_to_filter.SelectedDate != null)
                {
                    stockTransfer.addDateCondition("date", "BETWEEN",
                                                   Convert.ToDateTime(stockTransferHistory.datePicker_from_filter.SelectedDate).ToString("yyyy-MM-dd"),
                                                   Convert.ToDateTime(stockTransferHistory.datePicker_to_filter.SelectedDate).ToString("yyyy-MM-dd"));
                }
                else if (stockTransferHistory.datePicker_from_filter.SelectedDate != null)
                {
                    stockTransfer.Date = Convert.ToDateTime(stockTransferHistory.datePicker_from_filter.SelectedDate);
                }
                else if (stockTransferHistory.datePicker_to_filter.SelectedDate != null)
                {
                    stockTransfer.Date = Convert.ToDateTime(stockTransferHistory.datePicker_to_filter.SelectedDate);
                }
                stockTransfer.Carrier = "%" + stockTransferHistory.textBox_carrier_filter.TrimedText + "%";
                stockTransfer.Details = "%" + stockTransferHistory.textBox_details_filter.Text + "%";
            } catch (Exception) {
            }
            return(stockTransfer);
        }
        public ActionResult Details(string stNo)
        {
            StockTransfer st = stRepo.GetByNo(stNo);

            ViewBag.CompanyId = Request.QueryString["companyId"];

            return(View(st));
        }
 internal void setRowsCount()
 {
     try {
         StockTransfer stockTransfer = getStockTransferForFilter();
         stockTransfer.RowsCount = 1;
         List <StockTransfer> list = getTransfer(stockTransfer);
         stockTransferHistory.Pagination.RowsCount = list[0].RowsCount;
     } catch (Exception) {
     }
 }
Пример #9
0
 public void Update(StockTransfer stock)
 {
     using (IDbConnection dbConnection = Connection)
     {
         string sQuery = " UPDATE StockTransfer SET Date  = @Date" + "Kitchen=@Kitchen"
                         + " WHERE ST_ID = @ST_ID";
         dbConnection.Open();
         dbConnection.Execute(sQuery, stock);
     }
 }
Пример #10
0
        public void Post([FromBody] string fromWarehouse, string toWarehouse, string itemCode, double quantity)
        {
            StockTransfer doc = new StockTransfer();

            doc.DocDate       = DateTime.Now;
            doc.FromWarehouse = fromWarehouse;
            doc.ToWarehouse   = toWarehouse;

            doc.Lines.SetCurrentLine(0);
            doc.Lines.ItemCode          = itemCode;
            doc.Lines.FromWarehouseCode = fromWarehouse;
            doc.Lines.WarehouseCode     = toWarehouse;
            doc.Lines.Quantity          = quantity;
        }
        public ActionResult Report(string poNo)
        {
            StockTransfer            st = stRepo.GetByNo(poNo);
            List <StockTransferItem> lstStockTransferItem = st.StockTransferItems;

            var lstStockTransfer = from s in lstStockTransferItem
                                   select new
            {
                ApprovedBy  = st.ApprovedByObj.FullName,
                CheckedBy   = st.CheckedBy,
                RequestedBy = st.ReportedBy,
                ItemCode    = s.Item.Code,
                Description = s.Item.Description,
                Quantity    = s.Quantity,
                SerialNo    = s.SerialNo,
                Unit        = st.UnitPlateNo
            };

            ReportViewer reportViewer = new ReportViewer();

            reportViewer.ProcessingMode = ProcessingMode.Local;

            ReportDataSource _rds = new ReportDataSource();

            _rds.Name  = "DataSet1";
            _rds.Value = lstStockTransfer;

            reportViewer.KeepSessionAlive = false;
            reportViewer.LocalReport.DataSources.Clear();
            reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"Views\StockTransfer\Report\rptStockTransfer.rdlc";

            reportViewer.LocalReport.DataSources.Add(_rds);

            List <ReportParameter> parameters = new List <ReportParameter>();

            parameters.Add(new ReportParameter("Date", st.Date.ToShortDateString()));
            parameters.Add(new ReportParameter("No", st.No));
            parameters.Add(new ReportParameter("TransferredTo", companyRepo.GetById(st.CompanyTo).Name));
            parameters.Add(new ReportParameter("JobOrderNo", st.JobOrderNo));
            parameters.Add(new ReportParameter("CompanyName", companyRepo.GetById(Sessions.CompanyId.Value).Name));
            parameters.Add(new ReportParameter("CompanyAddress", companyRepo.GetById(Sessions.CompanyId.Value).Address));
            reportViewer.LocalReport.SetParameters(parameters);

            reportViewer.LocalReport.Refresh();

            ViewBag.ReportViewer = reportViewer;

            return(View());
        }
Пример #12
0
        public Consignment SaveStockTransfer(StockTransfer stockTransfer)
        {
            Consignment result = null;

            var vendRequest = new VendRequest(this.Url, this.Username, this.Password);
            var response    = vendRequest.Post("/api/stock_transfers", stockTransfer.ToJson());

            if (!string.IsNullOrEmpty(response))
            {
                var consignmentWrapper = response.FromJson <ConsignmentWrapper>();
                result = consignmentWrapper.Consignment;
            }

            return(result);
        }
        public void SaveStockTransfer(RequisitionDTO entry)
        {
            StockTransfer st = new StockTransfer();

            st.No   = entry.No;
            st.Date = entry.RequisitionDate;

            if (entry.CompanyTo == 0)
            {
                int vehicleId = vehicleRepo.GetIdByPlateNo(entry.UnitPlateNo);
                st.CompanyTo = veAssignRepo.GetIdByVehicleId(vehicleId);
            }
            else
            {
                st.CompanyTo = entry.CompanyTo;
            }
            st.JobOrderNo      = entry.JobOrderNo;
            st.UnitPlateNo     = entry.UnitPlateNo;
            st.JobOrderDate    = entry.JobOrderDate;
            st.OdometerReading = entry.OdometerReading;                  //Get from session
            st.DriverName      = entry.DriverName;                       //Get from session
            st.ReportedBy      = entry.ReportedBy;                       //Get from session
            st.CheckedBy       = entry.CheckedBy;                        //Get from session
            st.ApprovedBy      = Common.GetCurrentUser.GeneralManagerId; //Get from session

            st.CompanyId = Sessions.CompanyId.Value;

            List <StockTransferItem> lstStItem = new List <StockTransferItem>();

            foreach (RequisitionDTO.Item item in entry.Items)
            {
                StockTransferItem stItem = new StockTransferItem
                {
                    StockTransferId = st.Id,
                    ItemId          = item.ItemId,
                    Quantity        = item.Quantity,
                    SerialNo        = item.SerialNo,
                    Type            = item.Type,
                    QuantityReturn  = item.QuantityReturn,
                    SerialNoReturn  = item.SerialNoReturn
                };

                lstStItem.Add(stItem);
            }

            st.StockTransferItems = lstStItem;
            stRepo.Save(st);
        }
        /////////////

        public StockTransfer getStockTransferById(int id)
        {
            StockTransfer stockTransfer = null;

            try {
                StockTransfer st = new StockTransfer();
                st.Id = id;
                List <StockTransfer> list = getTransfer(st);
                if (list.Count == 1)
                {
                    stockTransfer = list[0];
                }
            } catch (Exception) {
            }
            return(stockTransfer);
        }
Пример #15
0
 public ActionResult Create(StockTransfer model)
 {
     try
     {
         model.CreatedBy = UserID.ToString(); model.CreatedDate = DateTime.Today; model.OrganizationId = OrganizationId;
         string ref_no = new StockTransferRepository().CreateStockTransfer(model);
         TempData["success"] = "Saved Successfully. Reference No. is " + ref_no;
     }
     catch (Exception)
     {
         TempData["error"] = "Some error occured. Please try again.";
         FillDropdowns();
         return(View(model));
     }
     return(RedirectToAction("Create"));
 }
        public string Reject(long tranId)
        {
            bool isAdmin = AppUsers.GetCurrent().View.IsAdmin.ToBool();

            if (!isAdmin)
            {
                throw new MixERPException(Warnings.AccessIsDenied);
            }

            if (tranId <= 0)
            {
                throw new MixERPException(Warnings.AccessIsDenied);
            }

            int userId = AppUsers.GetCurrent().View.UserId.ToInt();

            StockTransfer.Reject(AppUsers.GetCurrentUserDB(), userId, tranId);
            return("OK");
        }
Пример #17
0
        public string CreateStockTransfer(StockTransfer model)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction txn = connection.BeginTransaction();
                try
                {
                    model.StockTransferRefNo = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 29, true, txn);

                    int id = Create(model, connection, txn);

                    InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "StockTransfer", id.ToString(), model.OrganizationId.ToString());
                    txn.Commit();
                    return(model.StockTransferRefNo);
                }
                catch (Exception)
                {
                    txn.Rollback();
                    throw;
                }
            }
        }
Пример #18
0
        public ActionResult Edit(int id = 0)
        {
            try
            {
                if (id != 0)
                {
                    FillDropdowns();
                    StockTransfer StockTransfer = new StockTransfer();
                    StockTransfer       = new StockTransferRepository().GetStockTransferHD(id);
                    StockTransfer.Items = new StockTransferRepository().GetStockTransferDT(id);

                    return(View(StockTransfer));
                }
                else
                {
                    TempData["error"]   = "That was an invalid/unknown request. Please try again.";
                    TempData["success"] = "";
                }
            }
            catch (InvalidOperationException iox)
            {
                TempData["error"] = "Sorry, we could not find the requested item. Please try again.|" + iox.Message;
            }
            catch (SqlException sx)
            {
                TempData["error"] = "Some error occured while connecting to database. Please try again after sometime.|" + sx.Message;
            }
            catch (NullReferenceException nx)
            {
                TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
            }

            TempData["success"] = "";
            return(RedirectToAction("Index"));
        }
Пример #19
0
        public void ShouldBeAbleToPostASockTransfer()
        {
            var vendApi   = new VendApi(this.Url, this.Username, this.Password);
            var registers = vendApi.GetRegisters();
            var products  = new VendApi(this.Url, this.Username, this.Password).GetProducts(Product.OrderBy.name, false, true);
            var product1  = products.First(p => p.Handle == this.Product1);
            var product2  = products.First(p => p.Handle == this.Product2);

            var mainRegister = registers.First(r => r.Name == "Main Register");

            Assert.IsNotNull(mainRegister, "This test requires that the main register exists.");
            var consignment = new StockTransfer
            {
                Name           = "New Name",
                Date           = DateTime.UtcNow.ToString("u"),
                Type           = "OUTLET",
                OutletId       = mainRegister.OutletId,
                SourceOutletId = mainRegister.OutletId,
                Status         = "OPEN",
            };

            vendApi.SaveStockTransfer(consignment);
        }
        internal void filter()
        {
            try {
                stockTransferHistory.DataTable.Rows.Clear();
                StockTransfer s = getStockTransferForFilter();
                s.LimitStart = stockTransferHistory.Pagination.LimitStart;
                s.LimitEnd   = stockTransferHistory.Pagination.LimitCount;
                List <StockTransfer> list = getTransfer(s);
                DataRow row = null;
                foreach (StockTransfer stockTransfer in list)
                {
                    row    = stockTransferHistory.DataTable.NewRow();
                    row[0] = stockTransfer.Id;
                    row[1] = stockManagerImpl.getStockLocationNameById(stockTransfer.FromLocationId);
                    row[2] = stockManagerImpl.getStockLocationNameById(stockTransfer.ToLocationId);
                    row[3] = stockTransfer.Date.ToString("yyyy-MM-dd");
                    row[4] = stockTransfer.Carrier;
                    row[5] = stockTransfer.Details;

                    stockTransferHistory.DataTable.Rows.Add(row);
                }
            } catch (Exception) {
            }
        }
Пример #21
0
        private int Create(StockTransfer model, IDbConnection connection, IDbTransaction txn)
        {
            try
            {
                #region Inserting into [StockTransfer] head
                string query = @"INSERT INTO StockTransfer
                                (
	                                StockTransferRefNo,
	                                StockTransferDate,
	                                FromStockpointId,
	                                ToStockpointId,
	                                CreatedBy,
	                                CreatedDate,
	                                OrganizationId,
	                                isActive
                                )
                                VALUES
                                (
	                                @StockTransferRefNo,
	                                @StockTransferDate,
	                                @FromStockpointId,
	                                @ToStockpointId,
	                                @CreatedBy,
	                                @CreatedDate,
	                                @OrganizationId,
	                                1
                                );
                                SELECT CAST(SCOPE_IDENTITY() AS INT)";

                int id = connection.Query <int>(query, model, txn).First();
                #endregion

                #region Inserting Transfer Items + Stock Updation
                foreach (var item in model.Items)
                {
                    item.StockTransferId = id;
                    var i = new StockTransferItemRepository().InsertTransferItems(item, connection, txn);
                    new StockUpdateRepository().InsertStockUpdate(new StockUpdate
                    {
                        OrganizationId = model.OrganizationId,
                        CreatedBy      = model.CreatedBy,
                        CreatedDate    = model.CreatedDate,
                        StockPointId   = model.FromStockpointId,
                        StockType      = "StockTransfer",
                        StockInOut     = "OUT",
                        stocktrnDate   = System.DateTime.Today,
                        ItemId         = item.ItemId,
                        Quantity       = item.Quantity * (-1),
                        StocktrnId     = id,
                        StockUserId    = model.StockTransferRefNo
                    }, connection, txn);

                    new StockUpdateRepository().InsertStockUpdate(new StockUpdate
                    {
                        OrganizationId = model.OrganizationId,
                        CreatedBy      = model.CreatedBy,
                        CreatedDate    = model.CreatedDate,
                        StockPointId   = model.ToStockpointId,
                        StockType      = "StockTransfer",
                        StockInOut     = "IN",
                        stocktrnDate   = System.DateTime.Today,
                        ItemId         = item.ItemId,
                        Quantity       = item.Quantity,
                        StocktrnId     = id,
                        StockUserId    = model.StockTransferRefNo
                    }, connection, txn);
                }
                #endregion

                return(id);
            }
            catch (Exception)
            {
                throw;
            }
        }
        internal bool saveTransfer()
        {
            bool b = false;

            try {
                bool isOkay = true;
                if (addStockTransfer.textBox_carrierName_selectStock.IsNull())
                {
                    addStockTransfer.textBox_carrierName_selectStock.ErrorMode(true);
                    isOkay = false;
                }
                if (addStockTransfer.datePicker_date_selectStock.SelectedDate == null)
                {
                    addStockTransfer.datePicker_date_selectStock.ErrorMode(true);
                    isOkay = false;
                }
                if (Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue) <= 0)
                {
                    addStockTransfer.comboBox_to_selectStock.ErrorMode(true);
                    isOkay = false;
                }
                if (Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue) <= 0)
                {
                    addStockTransfer.comboBox_from_selectStock.ErrorMode(true);
                    isOkay = false;
                }
                if (Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue) == Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue))
                {
                    addStockTransfer.comboBox_from_selectStock.ErrorMode(true);
                    addStockTransfer.comboBox_to_selectStock.ErrorMode(true);
                    isOkay = false;
                }
                if (isOkay)
                {
                    if (addStockTransfer.DataTable.Rows.Count > 0)
                    {
                        StockTransfer stockTransfer = new StockTransfer();
                        stockTransfer.FromLocationId = Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue);
                        stockTransfer.ToLocationId   = Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue);
                        stockTransfer.Date           = Convert.ToDateTime(addStockTransfer.datePicker_date_selectStock.SelectedDate);
                        stockTransfer.Carrier        = addStockTransfer.textBox_carrierName_selectStock.TrimedText;
                        stockTransfer.Details        = addStockTransfer.textBox_details_selectStock.Text;
                        CommonMethods.setCDMDForAdd(stockTransfer);
                        int stockTransferId = addTransfer(stockTransfer);

                        StockTransferItem stockTransferItem = null;
                        StockItem         stockItemFrom     = null;
                        StockItem         stockItemTo       = null;
                        foreach (DataRow row in addStockTransfer.DataTable.Rows)
                        {
                            stockTransferItem = new StockTransferItem();
                            stockTransferItem.StockTransferId = stockTransferId;
                            stockTransferItem.ItemId          = Convert.ToInt32(row["ID"]);
                            stockTransferItem.Quantity        = Convert.ToDouble(row["Quantity"]);
                            CommonMethods.setCDMDForAdd(stockTransferItem);
                            stockItemFrom           = stockManagerImpl.getStockItemByStockLocationIdAndItemId(Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue), Convert.ToInt32(row["ID"]));
                            stockItemTo             = stockManagerImpl.getStockItemByStockLocationIdAndItemId(Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue), Convert.ToInt32(row["ID"]));
                            stockItemFrom.Quantity -= stockTransferItem.Quantity;
                            stockItemTo.Quantity   += stockTransferItem.Quantity;
                            addTransferItem(stockTransferItem);
                            stockManagerImpl.updStockItem(stockItemFrom);
                            stockManagerImpl.updStockItem(stockItemTo);
                        }
                        b = true;
                    }
                    else
                    {
                        ShowMessage.error(Common.Messages.Error.Error012);
                    }
                }
            } catch (Exception) {
            }
            return(b);
        }
Пример #23
0
        private void stockTransferToolStripMenuItem_Click(object sender, EventArgs e)
        {
            StockTransfer dialog = new StockTransfer();

            Openform(dialog);
        }
Пример #24
0
        public async Task <IActionResult> OnPostDeclinesAsync(int?id)
        {
            DbContextOptions <ApplicationDbContext> options = new DbContextOptions <ApplicationDbContext>();

            using (var context = new ApplicationDbContext(options))
            {
                Stores = context.Stores.AsNoTracking().Where(s => s.StoreName != "Warehouse").Select(n => new SelectListItem
                {
                    Value = n.Store_ID.ToString(),
                    Text  = n.StoreName
                }).ToList();
                if (await _userManager.IsInRoleAsync(ApplicationUser, "Admin"))
                {
                    StockTransfers = context.StockTransfers.AsNoTracking().Where(t => t.StockId == id && t.Approvals == "True" && t.FromStoreId == (AllStores.FirstOrDefault(s => s.StoreName == "Warehouse").Store_ID)).ToList();
                }
                StockTransfer st = new StockTransfer();
                st = context.StockTransfers.AsNoTracking().FirstOrDefault(t => t.Id == id);
                Store warehouseStore = context.Stores.AsNoTracking().FirstOrDefault(s => s.StoreName == "Warehouse");
                Warehouse       = context.WarehouseStock.AsNoTracking().FirstOrDefault(w => w.Id == st.StockId);
                StockItem       = context.Stock.AsNoTracking().FirstOrDefault(s => s.StockName == Warehouse.StockName);
                Supplier        = context.Suppliers.AsNoTracking().FirstOrDefault(s => s.Id == Warehouse.SupplierId);
                AllStores       = context.Stores.AsNoTracking().ToList();
                ApplicationUser = await _userManager.GetUserAsync(User);

                StockTransfer stockTransfer = new StockTransfer
                {
                    Id             = st.Id,
                    StockId        = st.StockId,
                    FromStoreId    = st.FromStoreId,
                    ToStoreId      = st.ToStoreId,
                    TransferDate   = st.TransferDate,
                    Quantity       = st.Quantity,
                    Approvals      = "False",
                    ApprovalStatus = "Declined",
                    Approver       = ApplicationUser.UserName,
                    DateApproved   = DateTime.Now,
                    Requester      = st.Requester
                };

                context.StockTransfers.Update(StockTransfer);
                try
                {
                    context.SaveChanges();
                    AppMessage = "Declined";
                    Message    = "";
                    List <InternetAddress> toEmailAddresses   = new List <InternetAddress>();
                    List <InternetAddress> fromEmailAddresses = new List <InternetAddress>();
                    MailboxAddress         toAddress          = new MailboxAddress("*****@*****.**");
                    toEmailAddresses.Add(toAddress);
                    MailboxAddress fromAddress = new MailboxAddress("*****@*****.**");
                    fromEmailAddresses.Add(fromAddress);
                    EmailMessage emailMessage = new EmailMessage()
                    {
                        ToAddresses   = toEmailAddresses,
                        FromAddresses = fromEmailAddresses,
                        Subject       = "Stock Approved.",
                        Content       = string.Format("Stock {0} was declined on {1}", Warehouse.StockName, stockTransfer.DateApproved)
                    };
                    _emailSender.SendMail(emailMessage);
                }
                catch (Exception ex)
                {
                }
            }
            return(Page());
        }
Пример #25
0
        public async Task <StockTransfer> AddStockTransfer(StockTransfer stockTransfer)
        {
            Guard.Argument(stockTransfer, nameof(stockTransfer)).NotNull();

            stockTransfer.Created = stockTransfer.Updated = DateTimeOffset.UtcNow;

            await ValidateStockTransfer(stockTransfer);

            await using var transaction = await _unitOfWork.GetTransaction();

            try
            {
                var fromWareHouse = await _wareHouseService.GetWareHouseById(stockTransfer.FromWareHouseId);

                if (!_wareHouseService.IsActiveWareHouse(fromWareHouse))
                {
                    throw new ServiceException(new ErrorMessage[]
                    {
                        new ErrorMessage()
                        {
                            Message = "From warehouse is not a active one"
                        }
                    });
                }

                var toWareHouse = await _wareHouseService.GetWareHouseById(stockTransfer.ToWareHouseId);

                if (!_wareHouseService.IsActiveWareHouse(toWareHouse))
                {
                    throw new ServiceException(new ErrorMessage[]
                    {
                        new ErrorMessage()
                        {
                            Message = "To warehouse is not a active one"
                        }
                    });
                }

                if (stockTransfer.ToWareHouseId == stockTransfer.FromWareHouseId)
                {
                    throw new ServiceException(new ErrorMessage[]
                    {
                        new ErrorMessage()
                        {
                            Message = "From and To Warehouses should not be same"
                        }
                    });
                }

                _unitOfWork.StockTransferRepository.Insert(stockTransfer);
                await _unitOfWork.SaveChanges();

                foreach (var stockTransferStockTransferItem in stockTransfer.StockTransferItems)
                {
                    await _stockService.AdjustStock(StockAdjustmentType.Out, stockTransfer.FromWareHouseId, stockTransferStockTransferItem.ProductId,
                                                    stockTransferStockTransferItem.UnitCost, stockTransferStockTransferItem.Quantity,
                                                    stockTransferStockTransferItem.ExpiredDate, $"Stock Transfer - {stockTransfer.StockTransferNumber}");

                    await _stockService.AdjustStock(StockAdjustmentType.In, stockTransfer.ToWareHouseId, stockTransferStockTransferItem.ProductId,
                                                    stockTransferStockTransferItem.UnitCost, stockTransferStockTransferItem.Quantity,
                                                    stockTransferStockTransferItem.ExpiredDate, $"Stock Transfer - {stockTransfer.StockTransferNumber}");
                }

                await transaction.CommitAsync();

                return(stockTransfer);
            }
            catch
            {
                await transaction.RollbackAsync();

                throw;
            }
        }
Пример #26
0
        // private Panel panelUser;
        //Literal L1;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _taskid = Convert.ToInt32(Request.QueryString["StockTransferTaskID"]);
                using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
                {
                    StockTransferTask stt = db.StockTransferTask.SingleOrDefault(a => a.StockTransferTaskID == _taskid);
                    if (stt != null)
                    {
                        // StockTransfer st = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID);
                        _noticeid = stt.StockTransferID;
                        var t = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskInType == stt.TaskInType).OrderBy(a => a.StockTransferTaskID).First();
                        stt = t;
                        //加载任务相关信息
                        Label lblReceiver = (Label)GetControltByMaster("lblReceiver");
                        lblReceiver.Text = stt.EmpInfo.EmpName;
                        Label lblDate = (Label)GetControltByMaster("lblDate");
                        lblDate.Text = stt.CreateTime.ToShortTimeString();
                        StockTransfer sts = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID);
                        if (sts != null)
                        {
                            Label lblNoticeCode = (Label)GetControltByMaster("lblNoticeCode");
                            lblNoticeCode.Text = sts.StockTransferNum;
                        }

                        //加载过往批复信息
                        //获取物资组长审核信息记录
                        stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "物资组长审核信息").OrderByDescending(a => a.StockTransferTaskID).First();
                        if (stStart != null)
                        {
                            Label lblsta = (Label)GetControltByMaster("lblsta");
                            lblsta.Text = stStart.AuditStatus;
                            Label lbluser = (Label)GetControltByMaster("lbluser");
                            lbluser.Text = stStart.EmpInfo1.EmpName;
                            Label lbldete = (Label)GetControltByMaster("lbldete");
                            lbldete.Text = stStart.AcceptTime.ToString();
                            ((Label)GetControltByMaster("lblop")).Text = stStart.AuditOpinion;
                        }
                        //获取生产组长审核记录
                        //stStart = db.StockTransferTask.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "生产组长审核信息");
                        stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "生产组长审核信息").OrderByDescending(a => a.StockTransferTaskID).First();
                        if (stStart != null)
                        {
                            Label lblsta0 = (Label)GetControltByMaster("lblsta0");
                            lblsta0.Text = stStart.AuditStatus;
                            Label lbluser0 = (Label)GetControltByMaster("lbluser0");
                            lbluser0.Text = stStart.EmpInfo1.EmpName;
                            Label lbldete0 = (Label)GetControltByMaster("lbldete0");
                            lbldete0.Text = stStart.AcceptTime.ToString();
                            ((Label)GetControltByMaster("lblop0")).Text = stStart.AuditOpinion;
                        }
                        //获取提交材料会计审核记录
                        stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "发起人确认").OrderByDescending(a => a.StockTransferTaskID).First();
                        if (stStart != null)
                        {
                            Label lblsta0 = (Label)GetControltByMaster("lblsta1");
                            lblsta0.Text = stStart.AuditStatus;
                            Label lbluser0 = (Label)GetControltByMaster("lbluser1");
                            lbluser0.Text = stStart.EmpInfo1.EmpName;
                            Label lbldete0 = (Label)GetControltByMaster("lbldete1");
                            lbldete0.Text = stStart.AcceptTime.ToString();
                        }


                        ////判断是否已经发送过任务
                        //var n = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskInType == stt.TaskInType).OrderByDescending(a => a.StockTransferTaskID).First();
                        btnOK = (Button)GetControltByMaster("btnOK");
                        //if (n.StockTransferTaskID > _taskid)
                        //{
                        //    //任务已发送
                        //    btnOK.Enabled = false;
                        //}
                        //else
                        //{
                        //    //任务未发送
                        //    btnOK.Enabled = true;
                        //    btnOK.Text = "申请者接收";
                        //}
                        //判断任务是否已经完成
                        StockTransferTask stt2 = db.StockTransferTask.SingleOrDefault(a => a.StockTransferTaskID == _taskid);
                        if (stt2.TaskState == "已完成")
                        {
                            ((Panel)GetControltByMaster("PanelDone")).Visible = true;
                            ((Panel)GetControltByMaster("PanelOp")).Visible   = false;
                            //载入数据
                            ((Label)GetControltByMaster("lblsta2")).Text  = stt2.AuditStatus;
                            ((Label)GetControltByMaster("lbluser2")).Text = stt2.EmpInfo1.EmpName;
                            ((Label)GetControltByMaster("lbldete2")).Text = stt2.AcceptTime.ToString();
                            ((Label)GetControltByMaster("lblop2")).Text   = stt2.AuditOpinion;

                            // 任务已完成
                            btnOK.Enabled = false;
                        }
                        else
                        {
                            ((Panel)GetControltByMaster("PanelDone")).Visible = false;
                            ((Panel)GetControltByMaster("PanelOp")).Visible   = true;
                            //任务未完成
                            btnOK.Enabled = true;
                            btnOK.Text    = "材料会计审核";
                        }
                    }
                }
                //txtUser = (TextBox)GetControltByMaster("txtUser");
                //L1 = (Literal)GetControltByMaster("L1");
                //L1.Text = JSDialogAid.GetJSForDialog(txtUser.ClientID, "../StorageAndPile/SelectUser.aspx");

                InitializeCustomControls();
                BindDataToCustomControls();
                ShowCustomControls();
            }
            catch (Exception ex)
            {
                MethodBase    mb      = MethodBase.GetCurrentMethod();
                LogToDBHelper lhelper = LogToDBHelper.Instance;
                lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name));
                ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_LOADERROR));
            }
        }
Пример #27
0
        public async Task DoTransfers(StockTransfer stockTransfer)
        {
            DbContextOptions <ApplicationDbContext> options = new DbContextOptions <ApplicationDbContext>();

            using (var context = new ApplicationDbContext(options))
            {
                Stores = context.Stores.AsNoTracking().Where(s => s.StoreName != "Warehouse").Select(n => new SelectListItem
                {
                    Value = n.Store_ID.ToString(),
                    Text  = n.StoreName
                }).ToList();
                FromStockItem = await context.Stock.AsNoTracking().FirstOrDefaultAsync(s => s.Id == stockTransfer.StockId && s.StoreId == stockTransfer.FromStoreId);

                AllStores       = context.Stores.AsNoTracking().ToList();
                ApplicationUser = await _userManager.GetUserAsync(User);

                StockItem isStockSore = new StockItem();
                isStockSore = context.Stock.AsNoTracking().FirstOrDefault(s => s.StoreId == stockTransfer.ToStoreId && s.StockName == FromStockItem.StockName);
                if (isStockSore != null)
                {
                    StockItem toStockItem = new StockItem
                    {
                        Id                = isStockSore.Id,
                        StockName         = isStockSore.StockName,
                        Unit              = isStockSore.Unit,
                        Price             = isStockSore.Price,
                        InStock           = isStockSore.InStock + stockTransfer.Quantity,
                        StoreId           = isStockSore.StoreId,
                        TransferApprovals = "False"
                    };
                    context.Stock.Update(toStockItem);
                }
                else
                {
                    StockItem toStockItem = new StockItem()
                    {
                        StockName         = FromStockItem.StockName,
                        Unit              = FromStockItem.Unit,
                        Price             = FromStockItem.Price,
                        InStock           = stockTransfer.Quantity,
                        StoreId           = stockTransfer.ToStoreId,
                        TransferApprovals = "False"
                    };
                    context.Stock.Add(toStockItem);
                }

                FromStockItem.TransferApprovals = "False";
                FromStockItem.InStock           = FromStockItem.InStock - AmountToTransfer;

                context.StockTransfers.Update(stockTransfer);
                context.Stock.Update(FromStockItem);

                try
                {
                    context.SaveChanges();
                    List <InternetAddress> toEmailAddresses   = new List <InternetAddress>();
                    List <InternetAddress> fromEmailAddresses = new List <InternetAddress>();
                    MailboxAddress         toAddress          = new MailboxAddress("*****@*****.**");
                    toEmailAddresses.Add(toAddress);
                    MailboxAddress fromAddress = new MailboxAddress("*****@*****.**");
                    fromEmailAddresses.Add(fromAddress);
                    EmailMessage emailMessage = new EmailMessage()
                    {
                        ToAddresses   = toEmailAddresses,
                        FromAddresses = fromEmailAddresses,
                        Subject       = "Stock Approved.",
                        Content       = string.Format("Stock {0} was approved on {1}", FromStockItem.StockName, stockTransfer.DateApproved)
                    };
                    _emailSender.SendMail(emailMessage);
                }
                catch (Exception ex)
                {
                }
            }
        }
Пример #28
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            FromStockItem = await _context.Stock.AsNoTracking().FirstOrDefaultAsync(s => s.Id == id);

            Stores = _context.Stores.AsNoTracking().Where(s => s.Store_ID != FromStockItem.StoreId).Select(n => new SelectListItem
            {
                Value = n.Store_ID.ToString(),
                Text  = n.StoreName
            }).ToList();
            ApplicationUser = await _userManager.GetUserAsync(User);

            if (await _userManager.IsInRoleAsync(ApplicationUser, "Admin"))
            {
                StockTransfers = _context.StockTransfers.AsNoTracking().Where(t => t.StockId == id && t.Approvals == "True").ToList();
            }
            AllStores       = _context.Stores.AsNoTracking().ToList();
            ApplicationUser = await _userManager.GetUserAsync(User);

            if (!await _userManager.IsInRoleAsync(ApplicationUser, "Admin"))
            {
                StockTransfer stockTransfer = new StockTransfer
                {
                    StockId        = FromStockItem.Id,
                    FromStoreId    = FromStockItem.StoreId,
                    ToStoreId      = Convert.ToInt32(StoreId),
                    TransferDate   = DateTime.Now,
                    Quantity       = AmountToTransfer,
                    DateApproved   = DateTime.Now,
                    Approvals      = "True",
                    ApprovalStatus = "Waiting Approval",
                    Requester      = ApplicationUser.UserName
                };
                FromStockItem.TransferApprovals = "True";
                _context.StockTransfers.Add(stockTransfer);
                _context.Stock.Update(FromStockItem);
                try
                {
                    _context.SaveChanges();

                    List <InternetAddress> toEmailAddresses   = new List <InternetAddress>();
                    List <InternetAddress> fromEmailAddresses = new List <InternetAddress>();
                    MailboxAddress         toAddress          = new MailboxAddress("*****@*****.**");
                    toEmailAddresses.Add(toAddress);
                    MailboxAddress fromAddress = new MailboxAddress("*****@*****.**");
                    fromEmailAddresses.Add(fromAddress);
                    EmailMessage emailMessage = new EmailMessage()
                    {
                        ToAddresses   = toEmailAddresses,
                        FromAddresses = fromEmailAddresses,
                        Subject       = "Stock Approval Waiting.",
                        Content       = string.Format("Stock {0} is waiting approval since {1}", FromStockItem.StockName, stockTransfer.TransferDate)
                    };
                    _emailSender.SendMail(emailMessage);
                    Message = "Waiting Approval";
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex.Message);
                }
                AppMessage = "";
                Message    = "Waiting Approvals";
            }
            else
            {
                StockTransfer stockTransfer = new StockTransfer
                {
                    StockId        = FromStockItem.Id,
                    FromStoreId    = FromStockItem.StoreId,
                    ToStoreId      = Convert.ToInt32(StoreId),
                    TransferDate   = DateTime.Now,
                    Quantity       = AmountToTransfer,
                    DateApproved   = DateTime.Now,
                    Approvals      = "True",
                    ApprovalStatus = "Approved",
                    Requester      = ApplicationUser.UserName,
                    Approver       = ApplicationUser.UserName
                };
                await DoTransfers(stockTransfer);

                AppMessage = "";
                Message    = "Approved";
            }

            return(Page());
        }
Пример #29
0
 public static StockTransfer CreateStockTransfer(int ID, string lotNo, double quantity, byte[] rowVersion)
 {
     StockTransfer stockTransfer = new StockTransfer();
     stockTransfer.Id = ID;
     stockTransfer.LotNo = lotNo;
     stockTransfer.Quantity = quantity;
     stockTransfer.RowVersion = rowVersion;
     return stockTransfer;
 }
Пример #30
0
 public void AddToStockTransfers(StockTransfer stockTransfer)
 {
     base.AddObject("StockTransfers", stockTransfer);
 }
Пример #31
0
        /// <summary>
        /// Mass Invoicing
        /// </summary>
        /// <param name="invoice"></param>
        /// <returns></returns>
        public static ResultDTO CreateInvoice(DocumentDTO invoice, UserValues user, FloorService floorServiceItem, string type)
        {
            var result = new ResultDTO();

            if (invoice.Document.Debt == 0)
            {
                result.Success = true;
                result.Message = "Ya Se Habia Facturado";
                return(result);
            }

            var       massInvoicingDAO = new MassInvoicingDAO();
            var       distributionDAO  = new DistributionDAO();
            var       objectCode       = BoObjectTypes.oInvoices.ToString();
            Documents lObjDocInvoice   = null;

            //var containMainUsage = true;

            try {
                //Documents lObjDocInvoice = (Documents)DIApplication.Company.GetBusinessObject(BoObjectTypes.oDrafts); //OINV
                lObjDocInvoice = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts);

                lObjDocInvoice.DocDate         = DateTime.Now;
                lObjDocInvoice.CardCode        = invoice.Document.Code;
                lObjDocInvoice.CardName        = invoice.Document.Name;
                lObjDocInvoice.PaymentMethod   = "99";
                lObjDocInvoice.DocObjectCodeEx = "13";
                lObjDocInvoice.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "P01";
                lObjDocInvoice.Series           = distributionDAO.GetSeries(user.WhsCode, objectCode);
                lObjDocInvoice.PaymentGroupCode = massInvoicingDAO.GetPayCondition(invoice.Document.Code);
                lObjDocInvoice.UserFields.Fields.Item("U_PE_Origin").Value           = type;
                lObjDocInvoice.UserFields.Fields.Item("U_GLO_BusinessPartner").Value = invoice.Document.Code;
                //lObjDocInvoice.EDocExportFormat = 5;
                lObjDocInvoice.EDocGenerationType = EDocGenerationTypeEnum.edocGenerate;
                lObjDocInvoice.NumAtCard          = string.Format("CM_CR_{0}", DateTime.Today.ToString("ddMMyy"));

                #region Comments
                //BusinessPartners BPartner = (BusinessPartners)DIApplication.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);
                //BPartner.GetByKey(lObjDocInvoice.CardCode);

                //if (BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value.ToString() == "")
                //{
                //    BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "P01";
                //    containMainUsage = false;
                //}
                //lObjDocInvoice.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value;
                #endregion

                foreach (var line in invoice.FloorServiceLines)
                {
                    lObjDocInvoice.Lines.ItemCode      = floorServiceItem.ItemCode;
                    lObjDocInvoice.Lines.Quantity      = (line.Existence * line.TotalDays);
                    lObjDocInvoice.Lines.WarehouseCode = line.Corral;
                    lObjDocInvoice.Lines.Price         = floorServiceItem.Price;
                    lObjDocInvoice.Lines.CostingCode   = user.Area;
                    lObjDocInvoice.Lines.UserFields.Fields.Item("U_SU_BatchAuc").Value = (type.Equals("N")) ? line.Batch : line.DocEntry.ToString();

                    lObjDocInvoice.Lines.Add();
                }

                foreach (var line in invoice.DeliveryLines)
                {
                    lObjDocInvoice.Lines.ItemCode    = line.ItemCode;
                    lObjDocInvoice.Lines.Quantity    = line.Quantity;
                    lObjDocInvoice.Lines.Price       = line.Price;
                    lObjDocInvoice.Lines.CostingCode = user.Area;
                    lObjDocInvoice.Lines.BaseEntry   = line.DocEntry;
                    lObjDocInvoice.Lines.BaseLine    = line.LineNum;
                    lObjDocInvoice.Lines.BaseType    = 15; //ODLN
                    lObjDocInvoice.Lines.Add();
                }


                if (lObjDocInvoice.Add() != 0)
                {
                    var error = DIApplication.Company.GetLastErrorDescription();
                    LogService.WriteError("InvoiceDI (CreateDocument) " + error);
                    result.Success = false;
                    result.Message = "Error: " + error;
                    return(result);
                }
                else
                {
                    string lStrDocEntry = DIApplication.Company.GetNewObjectKey();

                    result.Success = true;
                    result.Message = string.Format("La Factura se realizó con éxito con el DocEntry: {0}", lStrDocEntry);

                    //Update StockTransfer When Auction Invoicing
                    if (type.Equals("S"))
                    {
                        var transferDocEntries = massInvoicingDAO.GetTransferDocEntries(invoice.Document.Code);

                        if (transferDocEntries != null)
                        {
                            if (transferDocEntries.Length > 0)
                            {
                                Task.Factory.StartNew(() => {
                                    Parallel.ForEach(transferDocEntries, docEntry => {
                                        StockTransfer lObjDocTransfer = (StockTransfer)DIApplication.Company.GetBusinessObject(BoObjectTypes.oStockTransfer); //OWTR
                                        lObjDocTransfer.GetByKey(docEntry);
                                        lObjDocTransfer.UserFields.Fields.Item("U_GLO_Status").Value = "C";
                                        var resultCode = lObjDocTransfer.Update();
                                        if (resultCode != 0)
                                        {
                                            var error = DIApplication.Company.GetLastErrorDescription();
                                            LogService.WriteError("InvoiceDI (Update Stock Transfers) " + error);
                                            result.Message += ", " + error;
                                        }
                                    });
                                });
                            }
                        }
                        else
                        {
                            result.Success  = false;
                            result.Message += string.Format(" - No se encontró la transferencia para el SN {0}", invoice.Document.Code);
                        }
                    }
                    return(result);
                }
            }
            catch (AggregateException ae) {
                ae.Handle(e => {
                    HandleException(e, "InvoiceDI(Document)");
                    return(true);
                });
            }
            catch (Exception ex) {
                HandleException(ex, "InvoiceDI(Document)" + ex.Message + " " + ex.InnerException.Message);
            }
            return(new ResultDTO()
            {
                Success = false, Message = "Error: No Se Pudo Crear La Factura Para el Cliente " + invoice.Document.Name
            });
        }
Пример #32
0
        public static string AddData(Company oCompany, ITR model)
        {
            StockTransfer oObject = null;
            RTNMANVAL     rtn = new RTNMANVAL();
            int           errCode; string errMessage, strResult = "";

            try
            {
                oCompany.StartTransaction();

                oObject = oCompany.GetBusinessObject(BoObjectTypes.oInventoryTransferRequest);

                oObject.DocDate       = model.PostingDate;
                oObject.DueDate       = model.DocumentDate;
                oObject.ToWarehouse   = model.ToWarehouseCode;
                oObject.FromWarehouse = model.FromWarehouseCode;
                oObject.Address       = model.ShipTo;
                oObject.UserFields.Fields.Item("U_MJTPO").Value        = model.NoSPK;
                oObject.UserFields.Fields.Item("U_MJTSPK").Value       = model.NoSPKDetil;
                oObject.UserFields.Fields.Item("U_MJT_NoSIP2").Value   = model.NoSIP2;
                oObject.UserFields.Fields.Item("U_MJT_TglSIP2").Value  = model.TglSIP2;
                oObject.UserFields.Fields.Item("U_MJTBASTB").Value     = model.NoBAP;
                oObject.UserFields.Fields.Item("U_MJTRCVD").Value      = model.TglBAP;
                oObject.UserFields.Fields.Item("U_mjt_opr").Value      = model.Operator;
                oObject.UserFields.Fields.Item("U_mjt_scr").Value      = model.Security;
                oObject.UserFields.Fields.Item("U_mjt_jam2").Value     = model.jam;
                oObject.UserFields.Fields.Item("U_mjt_qa").Value       = model.PetugasQA;
                oObject.UserFields.Fields.Item("U_MJTPO").Value        = model.NoSPK2;
                oObject.UserFields.Fields.Item("U_MJT_Uraian").Value   = model.UraianKerja;
                oObject.UserFields.Fields.Item("U_MJT_NomorINV").Value = model.NoInvoicePajak;
                oObject.UserFields.Fields.Item("U_MJT_DP").Value       = model.Downpayment;
                oObject.UserFields.Fields.Item("U_MJT_DP2").Value      = model.DownpaymentAmount;

                for (int i = 0; i < model.lines.Count; i++)
                {
                    oObject.Lines.ItemCode          = model.lines[i].ItemCode;
                    oObject.Lines.FromWarehouseCode = model.FromWarehouseCode;
                    oObject.Lines.WarehouseCode     = model.lines[i].ToWarehouseCode;
                    oObject.Lines.Quantity          = model.lines[i].Quantity;

                    oObject.Lines.Add();
                }

                int addStatus = oObject.Add();

                if (addStatus == 0)
                {
                    if (strResult == "")
                    {
                        strResult = oCompany.GetNewObjectKey();
                    }
                    else
                    {
                        strResult = strResult + " | " + oCompany.GetNewObjectKey();
                    }
                }
                else
                {
                    if (oCompany.InTransaction)
                    {
                        oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
                    }

                    oCompany.GetLastError(out errCode, out errMessage);
                    throw new Exception("Error Code : " + errCode + " | Error Message : " + errMessage);
                }
                oCompany.EndTransaction(BoWfTransOpt.wf_Commit);
            }
            catch (Exception)
            {
                if (oCompany.InTransaction)
                {
                    oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
                }
                ;
                throw;
            }

            return(strResult);
        }