private void Databind(string id) { DataTable dt = EditShipment.QueryData(id); ViewState["dt"] = dt; grd.DataSource = dt; grd.DataBind(); //Nmtree.MergeGridViewCell.MergeRow(grd,0,7); }
public async Task <IActionResult> EditShipment(EditShipment input) { if (!ModelState.IsValid) { var shipmentForEdit = this.driversService.GetShipment(input.ShipmentId); return(this.View(shipmentForEdit)); } if (input.Pictures != null) { foreach (var picture in input.Pictures) { var index = picture.FileName.LastIndexOf('.'); var extension = picture.FileName.Substring(index); var currDriver = await this.userManager.GetUserAsync(User); var currImage = new Image { Extension = extension, ShipmentId = input.ShipmentId, AddedByDriverId = currDriver.Id, CreatedOn = DateTime.UtcNow, }; //Отвори ми файлов стрийм към wwwroot/proof/име на файла в режим на създаване на нов файл и вземи данните от Picture и ми ги копирай в посочения stream string imageUrl = "/proof/" + currImage.Id + "." + extension; using (FileStream fileStream = new FileStream(this.webHostEnvironment.WebRootPath + imageUrl, FileMode.Create)) { await picture.CopyToAsync(fileStream); } currImage.ImageUrl = imageUrl; input.Images.Add(currImage); } } await this.driversService.ChangeShipmentDataAsync(input); return(this.RedirectToAction("ShipmentChanged", "Drivers", new ChangesApplied { Message = "Вие успешно променихте поръчка с номер:", ShipmentId = input.ShipmentId })); }
public async Task ChangeShipmentDataAsync(EditShipment input) { var currShipment = this.db.Shipments.FirstOrDefault(s => s.Id == input.ShipmentId); currShipment.Width = input.Width; currShipment.Length = input.Length; currShipment.Height = input.Height; currShipment.Weight = input.Weight; currShipment.CountOfPallets = input.CountOfPallets ?? 0; currShipment.Comment = input.Comment; currShipment.IsDelivered = input.IsDelivered; if (input.Images != null) { currShipment.Images = input.Images; } await this.db.SaveChangesAsync(); }
public async Task <ActionResult> Edit(EditShipment model) { if (ModelState.IsValid) { var totalQuantity = model.ShipmentItems.Sum(r => r.Quantity); if (totalQuantity == 0) { ModelState.AddModelError(string.Empty, "Quantity must be specified for each least one item."); } } if (!ModelState.IsValid) { //foreach (var itemModel in model.ReturnItems) //{ // itemModel.Quantities = ModelFactory.GetQuantitySelectList(itemModel.MaxQuantity); //} var aShippingVendors = await ShipmentAdminService.GetShippingVendorsAsync(); model.ShippingVendors = ModelFactory.GetShippingVendorSelectList(aShippingVendors); return(View(model)); } var shipmentId = model.ShipmentId; var actionData = this.GetActionData(); switch (actionData?.ActionName) { case Actions.Save: _ = await SaveShipment(model); break; } return(RedirectToAction("Index", "Shipment")); }
public async Task ChangeShipmentDataShouldReplaceCurrShipmentWithNewData() { var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase("name"); var db = new ApplicationDbContext(optionsBuilder.Options); var currShipment = new Shipment { Width = 2, Length = 2, Height = 2, Weight = 200, CountOfPallets = 3, Comment = "Some Text", IsDelivered = true }; await db.Shipments.AddAsync(currShipment); await db.SaveChangesAsync(); var editShipment = new EditShipment { ShipmentId = currShipment.Id, Width = 4, Length = 4, Height = 4, Weight = 400, CountOfPallets = 4, Comment = "Editted Text", IsDelivered = false }; var driversService = new DriversService(db); Task result = driversService.ChangeShipmentDataAsync(editShipment); Assert.True(result.IsCompletedSuccessfully); Assert.Equal(400, currShipment.Weight); }
private async Task <long> SaveShipment(EditShipment model) { if (model.ShipmentId == null) { var mCreateShipmentItems = new List <MFulfillment_CreateShipmentItem>(); foreach (var item in model.ShipmentItems) { mCreateShipmentItems.Add(new MFulfillment_CreateShipmentItem() { ShipmentRequestItemId = item.ShipmentRequestItemId, Quantity = item.Quantity }); } var mCreateShipment = new MFulfillment_CreateShipment() { ShipmentDateTimeUtc = Locale.GetUtcFromLocalTime(model.ShipmentDate), ShippingVendorId = model.ShippingVendorId, TrackingCode = model.TrackingNumber, CreateShipmentItems = mCreateShipmentItems }; var aCreateShipment = new AShipment_CreateShipment() { MCreateShipment = mCreateShipment }; var shipmentId = await ShipmentAdminService.CreateShipmentAsync(aCreateShipment); return(shipmentId); } else { var mUpdateShipmentItems = new List <MFulfillment_UpdateShipmentItem>(); foreach (var item in model.ShipmentItems) { mUpdateShipmentItems.Add(new MFulfillment_UpdateShipmentItem() { ShipmentItemId = item.ShipmentItemId.Value, Quantity = item.Quantity }); } var mUpdateShipment = new MFulfillment_UpdateShipment() { ShipmentDateTimeUtc = Locale.GetUtcFromLocalTime(model.ShipmentDate), ShippingVendorId = model.ShippingVendorId, TrackingCode = model.TrackingNumber, UpdateShipmentItems = mUpdateShipmentItems }; var aUpdateShipment = new AShipment_UpdateShipment() { MUpdateShipment = mUpdateShipment }; await ShipmentAdminService.UpdateShipmentAsync(aUpdateShipment); return(model.ShipmentId.Value); } }
/// <summary> /// 添加批次号在出库单中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSaveClose_Click(object sender, EventArgs e) { string result = ""; if (txtLotid.Text == "") { JScript.Alert("请输入批次号", this); return; } DataTable dt = (DataTable)ViewState["dt"]; if (dt.Rows.Count == 0) { return; } using (DbDataReader reader = EditShipment.QueryLotInfo(txtLotid.Text)) { if (reader.Read()) { dt = (DataTable)ViewState["dt"]; //add by lei.xue on 2017-7-18 批次是否已经在列表中 foreach (DataRow dr in dt.Rows) { if (dr["lotid"].ToString() == txtLotid.Text) { JScript.Alert("批次已存在于列表中", this); return; } } //是否入库 if (reader["warehouse"].ToString() != "Y") { JScript.Alert("批次尚未入库", this); return; } //是否出货 if (reader["shipment"].ToString() == "Y") { JScript.Alert("批次已经出货", this); return; } if (reader["tempshipmenttime"].ToString() != "") { JScript.Alert("批次号已经预出库!", this); return; } result = Shipment.InsertShipmentInfo(ViewState["shipmentid"].ToString() , txtLotid.Text , System.Web.HttpContext.Current.Request.Cookies["userID"].Value.ToString()); if (result == "fail") { JScript.Alert("添加出错!", this); return; } DataRow dtRow = dt.NewRow(); dtRow["shipmentID"] = ViewState["shipmentid"].ToString(); dtRow["pinmin"] = reader["pinmin"].ToString(); dtRow["lotid"] = reader["lotid"].ToString(); dtRow["type"] = reader["type"].ToString(); dtRow["validwidth"] = reader["validwidth"].ToString(); dtRow["validlength"] = reader["validlength"].ToString(); dtRow["tempshipmenttime"] = System.DateTime.Now.ToString(); dt.Rows.Add(dtRow); grd.DataSource = dt; grd.DataBind(); } else { ////JScript.Alert("未找到条码信息", this); //JScript.Alert("批次未入库", this); //return; } } }