public ActionResult Edit(Shippings models) { bool status = false; if (ModelState.IsValid) { using (ZONYEntities db = new ZONYEntities()) { if (models.rowid > 0) { //Edit var Shippings = db.Shippings.Where(m => m.rowid == models.rowid).FirstOrDefault(); if (Shippings != null) { Shippings.mno = models.mno; Shippings.mname = models.mname; Shippings.remark = models.remark; } } else { //Save db.Shippings.Add(models); } db.SaveChanges(); status = true; } } return(new JsonResult { Data = new { status = status } }); }
public ActionResult Edit(int id = 0) { using (ZONYEntities db = new ZONYEntities()) { if (id == 0) { Shippings new_model = new Shippings(); return(View(new_model)); } var models = db.Shippings.Where(m => m.rowid == id).FirstOrDefault(); return(View(models)); } }
protected override DocumentInfo ComposeDocument(IUnitOfWork db, long companyId, MarketType market, string marketplaceId, IList <string> asinList) { Log.Info("Get orders"); var shippingMethodList = db.ShippingMethods.GetAllAsDto().ToList(); var fromDate = Time.GetAppNowTime().AddDays(-7); var shippingLabels = db.OrderShippingInfos.GetOrdersToFulfillAsDTO(market, marketplaceId) .Where(sh => sh.ShippingDate > fromDate).ToList(); var shippingInfoIds = shippingLabels.Select(i => i.Id).ToList(); Shippings = db.OrderShippingInfos.GetFiltered(sh => shippingInfoIds.Contains(sh.Id)).ToList(); shippingLabels = PrepareOrderShippings(db, shippingLabels); var mailLabels = db.MailLabelInfos.GetInfosToFulfillAsDTO(market, marketplaceId) .Where(sh => sh.ShippingDate > fromDate).ToList(); var mailInfoIds = mailLabels.Select(i => i.Id).ToList(); MailInfoes = db.MailLabelInfos.GetFiltered(m => mailInfoIds.Contains(m.Id)).ToList(); mailLabels = PrepareMailShippings(db, mailLabels); var allShippings = shippingLabels; allShippings.AddRange(mailLabels); if (asinList != null) { allShippings = allShippings.Where(sh => asinList.Contains(sh.AmazonIdentifier)).ToList(); } if (allShippings.Any()) { var orderMessages = new List <XmlElement>(); var index = 0; var merchant = db.Companies.Get(companyId).AmazonFeedMerchantIdentifier; foreach (var shipping in allShippings) { index++; Log.Info("add order " + index + ", shippingId=" + shipping.Id); var shippingMethod = shippingMethodList.FirstOrDefault(m => m.Id == shipping.ShippingMethodId); string shippingService = String.Empty; if (string.IsNullOrEmpty(shipping.ShippingService)) //NOTE: this options using Mail Labels, todo: make join { if (shippingMethod != null) { shippingService = shippingMethod.Name; } Log.Info("shipping service=" + shippingService); } else { shippingService = shipping.ShippingService; } OrderHelper.PrepareSourceItemOrderId(shipping.Items); shipping.Items = OrderHelper.GroupBySourceItemOrderId(shipping.Items); var carrier = shippingMethod?.CarrierName; if (!String.IsNullOrEmpty(shipping.CustomCurrier)) { carrier = shipping.CustomCurrier; } orderMessages.Add(FeedHelper.ComposeOrderFulfillmentMessage(index, shipping.AmazonIdentifier, shipping.ShippingDate, shipping.OrderDate, ShippingUtils.FormattedToMarketShippingService(shippingService, shippingMethod.IsInternational), shippingMethod != null ? ShippingUtils.FormattedToMarketCurrierName(carrier, shippingMethod.IsInternational, market) : String.Empty, shipping.TrackingNumber, shipping.Items)); if (shipping.IsFromMailPage) { MailInfoes.First(m => m.Id == shipping.Id).MessageIdentifier = index; } else { Shippings.First(o => o.Id == shipping.Id).MessageIdentifier = index; } } Log.Info("Compose feed"); var document = FeedHelper.ComposeFeed(orderMessages, merchant, Type.ToString()); return(new DocumentInfo { XmlDocument = document, NodesCount = index }); } return(null); }
public OrderEditViewModel(IUnitOfWork db, ILogService log, DTOOrder order, IList <ShipmentProviderDTO> shipmentProviders, bool isFulfilmentUser) { EntityId = order.Id; Market = (MarketType)order.Market; MarketplaceId = order.MarketplaceId; BatchId = order.BatchId; OrderStatus = order.OrderStatus; OrderId = order.OrderId; ExpectedShipDate = order.EarliestShipDate; OnHold = order.OnHold; OnHoldUpdateDate = order.OnHoldUpdateDate; IsRefundLocked = order.IsRefundLocked ?? false; AddressValidationStatus = order.AddressValidationStatus; IsDismissAddressValidation = order.IsDismissAddressValidation; AddressVerifyRequestDate = order.AddressVerifyRequestDate; AttachedToOrderId = order.AttachedToOrderString; PersonName = order.PersonName; BuyerEmail = order.BuyerEmail; ShippingAddress1 = order.ShippingAddress1; ShippingAddress2 = order.ShippingAddress2; ShippingCity = order.ShippingCity; ShippingState = order.ShippingState; ShippingCountry = order.ShippingCountry; ShippingZip = order.ShippingZip; ShippingZipAddon = order.ShippingZipAddon; ShippingPhone = order.ShippingPhone; SourceShippingName = order.InitialServiceType; log.Info("OnEditOrder, Id=" + order.Id + " Before GetByOrderIdDto"); Comments = db.OrderComments.GetByOrderIdDto(order.Id).OrderBy(c => c.CreateDate) .Select(c => new CommentViewModel { Id = c.Id, Comment = c.Message, Type = c.Type, LinkedEmailId = c.LinkedEmailId, CommentDate = c.CreateDate, CommentByName = c.CreatedByName }).ToList(); Comments.ForEach(c => { c.OrderNumber = OrderId; //NOTE: for View Email Url (reply button) }); log.Info("OnEditOrder, Id=" + order.Id + " Before GetByOrderIdDto"); var addressGoogleValidationMessage = db.OrderNotifies.GetAll() .OrderByDescending(n => n.CreateDate) .FirstOrDefault(n => n.Type == (int)OrderNotifyType.AddressCheckGoogleGeocode && n.OrderId == order.Id); if (addressGoogleValidationMessage != null) { AddressGoogleValidationMessage = AddressHelper.GeocodeMessageToDisplay(addressGoogleValidationMessage.Message, false); } log.Info("OnEditOrder, Id=" + order.Id + " Before GetShippingOptions"); ShippingOptions = OrderViewModel.GetShippingOptions(order.ShippingInfos, (MarketType)order.Market, order.IsSignConfirmation, order.IsInsured, isFulfilmentUser, showOptionsPrices: false, showProviderName: false); ShippingProviders = OrderViewModel.GetShippingProviders(shipmentProviders, (MarketType)order.Market, order.MarketplaceId, order.ShippingCountry, order.SourceShippingService, order.OrderType); Shippings = order.ShippingInfos.Select(sh => new OrderShippingViewModel(sh)).ToList(); Packages = Shippings .Where(sh => sh.IsActive) .OrderBy(sh => sh.ShippingInfoId) .Select(p => new PackageViewModel() { ShippingId = p.ShippingInfoId, PackageLength = p.PackageLength, PackageWidth = p.PackageWidth, PackageHeight = p.PackageHeight, }) .ToList(); ManuallyShipmentProviderType = order.ShipmentProviderType; var shippingGroup = ShippingOptions.FirstOrDefault(x => x.Selected); ManuallyShippingGroupId = shippingGroup == null ? null : shippingGroup.Value; RequiredPackageSize = shippingGroup != null && shippingGroup.RequiredPackageSize; if (order.IsManuallyUpdated) { ManuallyPersonName = order.ManuallyPersonName; ManuallyShippingAddress1 = order.ManuallyShippingAddress1; ManuallyShippingAddress2 = order.ManuallyShippingAddress2; ManuallyShippingCity = order.ManuallyShippingCity; ManuallyShippingState = order.ManuallyShippingState; ManuallyShippingUSState = order.ManuallyShippingState; ManuallyShippingCountry = order.ManuallyShippingCountry; ManuallyShippingZip = order.ManuallyShippingZip; ManuallyShippingZipAddon = order.ManuallyShippingZipAddon; ManuallyShippingPhone = order.ManuallyShippingPhone; } else { ManuallyPersonName = order.PersonName; ManuallyShippingAddress1 = order.ShippingAddress1; ManuallyShippingAddress2 = order.ShippingAddress2; ManuallyShippingCity = order.ShippingCity; ManuallyShippingState = order.ShippingState; ManuallyShippingUSState = order.ShippingState; ManuallyShippingCountry = order.ShippingCountry; ManuallyShippingZip = order.ShippingZip; ManuallyShippingZipAddon = order.ShippingZipAddon; ManuallyShippingPhone = order.ShippingPhone; } IsManuallyUpdated = order.IsManuallyUpdated; IsPrime = order.OrderType == (int)OrderTypeEnum.Prime; //InsuredValue = order.TotalPrice; InsuredValue = order.Items.Sum(i => i.ItemPrice); IsInsured = order.IsInsured; IsSignConfirmation = order.IsSignConfirmation; HasBatchLabel = order.ShippingInfos.Any(sh => !String.IsNullOrEmpty(sh.TrackingNumber)); Items = SplitItems(order.Items).ToList(); if (order.Notifies != null) { var cancelationRequest = order.Notifies.FirstOrDefault(n => n.Type == (int)OrderNotifyType.CancellationRequest); if (cancelationRequest != null) { HasCancelationRequest = true; } var oversoldNotify = order.Notifies.FirstOrDefault(n => n.Type == (int)OrderNotifyType.OversoldItem || n.Type == (int)OrderNotifyType.OversoldOnHoldItem); if (oversoldNotify != null) { IsOversold = true; } } log.Info("OnEditOrder, Id=" + order.Id + " End OrderEditViewModel"); }