public static string SaveDeliveryOrder(IDeliveryOrder deliveryOrder, List <DeliveryOrderContainerEntity> lstCntr, int modifiedBy) { int result = 0; string message = string.Empty; string xmlDoc = GeneralFunctions.Serialize(lstCntr); result = DODAL.SaveDeliveryOrder(deliveryOrder, xmlDoc, modifiedBy); switch (result) { case -1: //Transaction error occurs. message = "Transaction error occurs"; break; case 0: //No records saved. message = "No records saved"; break; default: //Successfully saved message = ResourceManager.GetStringWithoutName("ERR00009"); break; } return(message); }
public static int SaveDeliveryOrder(IDeliveryOrder deliveryOrder, string xmlDoc, int modifiedBy) { int result = 0; Int64 newDOId = 0; string newDONo = string.Empty; string strExecution = "[exp].[uspSaveDeliveryOrder]"; using (DbQuery oDq = new DbQuery(strExecution)) { oDq.AddBigIntegerParam("@DOId", deliveryOrder.DeliveryOrderId); oDq.AddBigIntegerParam("@BookingId", deliveryOrder.BookingId); oDq.AddIntegerParam("@EmptyYardId", deliveryOrder.EmptyYardId); oDq.AddDateTimeParam("@DeliveryOrderDate", deliveryOrder.DeliveryOrderDate); oDq.AddNTextParam("@XmlDoc", xmlDoc); oDq.AddIntegerParam("@ModifiedBy", modifiedBy); oDq.AddBigIntegerParam("@NewDOId", newDOId, QueryParameterDirection.Output); oDq.AddVarcharParam("@DONumber", 50, newDONo, QueryParameterDirection.Output); oDq.AddBigIntegerParam("@fk_LeaseID", deliveryOrder.LeaseID); result = oDq.RunActionQuery(); deliveryOrder.DeliveryOrderId = newDOId; deliveryOrder.DeliveryOrderNumber = newDONo; } return(result); }
public static bool OrderDataChanged(IDeliveryOrder order, CommonCacheData cachedOrder, IConverter converter) { if (converter.ToCommonStatus(order.DeliveryStatus) != cachedOrder.Status) { return(true); } return(false); }
private void BuildDeliveryOrderEntity(IDeliveryOrder deliveryOrder) { deliveryOrder.DeliveryOrderId = _doId; deliveryOrder.EmptyYardId = Convert.ToInt32(ddlYard.SelectedValue); deliveryOrder.BookingId = Convert.ToInt64(ddlBooking.SelectedValue); deliveryOrder.DeliveryOrderDate = Convert.ToDateTime(txtDoDate.Text.Trim(), _culture); deliveryOrder.LeaseID = Convert.ToInt32(ddlLease.SelectedValue); }
public object ToCreateOrderRequest(IDeliveryOrder order, PaymentTypes payType, decimal resultSum) { JeeblyCreateOrderRequest request = new JeeblyCreateOrderRequest(); request.OrderId = order.DeliveryId; request.OrganizationId = _organizationId; return(request); }
private void DoSave(IDeliveryOrder deliveryOrder, List <DeliveryOrderContainerEntity> lstContainer) { string message = string.Empty; if (DOBLL.ValidateContainer(lstContainer, out message)) { message = DOBLL.SaveDeliveryOrder(deliveryOrder, lstContainer, _userId); ViewState["DOId"] = deliveryOrder.DeliveryOrderId; GeneralFunctions.RegisterAlertScript(this, message); } else { GeneralFunctions.RegisterAlertScript(this, message); } }
public object ToCreateOrderRequest( IDeliveryOrder order, PaymentTypes payType, decimal resultSum ) { var result = new TawseelahCreateOrderRequest { user_id = _userId, sender_name = _restaurantName, sender_contact = _restaurantContact, pickup_address = _restaurantAddress, item_description = order.Comment, vehicle_type = "empty", payment_type = payType.ToString(), receiver_name = order.Client.Name, receiver_contact = order.Client.Phones.Count() > 0 ? order.Client.Phones.First().Value : "Phone number is null", amount = resultSum, delivery_datetime = $"{order.ExpectedDeliverTime.Year}/{order.ExpectedDeliverTime.Month}/{order.ExpectedDeliverTime.Day} " + $"{order.ExpectedDeliverTime.Hour}:{order.ExpectedDeliverTime.Minute}", remarks = order.Comment, delivery_type = TawseelahDeliveryTypes.NORMAL.ToString() }; var chosenAddress = order.Address; StringBuilder address = new StringBuilder(); if (chosenAddress.Region != null) { address.Append("Region: " + chosenAddress.Region.Name + ", "); } if (chosenAddress.Street != null) { address.Append("Street: " + chosenAddress.Street.Name + ", "); } address.Append("Index: " + chosenAddress.Index + ", "); address.Append("House: " + chosenAddress.House + ", "); address.Append("Building: " + chosenAddress.Building + ", "); address.Append("Flat: " + chosenAddress.Flat); result.receiver_address = address.ToString(); if (order.Latitude != null && order.Longitude != null) { result.pickup_lat = order.Latitude.Value; result.pickup_lng = order.Longitude.Value; } return(result); }
public static (PaymentTypes, decimal) GetPaymentTuple(IDeliveryOrder order, IConverter converter, string[] paymentTypes) { if (order.Payments.Count > 0) { PluginContext.Log.Info($"Delivery order {order.Number} with id {order.Id} and result sum - {order.ResultSum} " + $"has payments:\n{JsonConvert.SerializeObject(order.Payments)}"); decimal totalCashSum = order.Payments.Where(i => i.Type.IsCash).Select(i => i.Sum).ToArray().Sum(); PluginContext.Log.Info($"Total cash sum is: {totalCashSum}"); return(converter.ToPaymentTuple(order.Payments)); } else { return(PaymentTypes.COD, order.ResultSum); } }
public JeeblyAddress(IDeliveryOrder order) { StringBuilder local = new StringBuilder(); StringBuilder region = new StringBuilder(); if (order.Address.Street != null) { if (!string.IsNullOrEmpty(order.Address.Street.Name)) { local.Append($"Str: {order.Address.Street.Name}, "); } } if (!string.IsNullOrEmpty(order.Address.House)) { local.Append($"House: {order.Address.House}, "); } if (!string.IsNullOrEmpty(order.Address.Flat)) { local.Append($"Flat: {order.Address.Flat}"); } if (order.Address.Region != null) { if (!string.IsNullOrEmpty($"Region: {order.Address.Region.Name}, ")) { region.Append(order.Address.Region.Name + ", "); } if (!string.IsNullOrEmpty($"Index: {order.Address.Index}")) { region.Append(order.Address.Index); } } line_1 = local.ToString(); line_2 = region.ToString(); latitude = order.Latitude; longitude = order.Longitude; land_mark = string.Empty; }
private void CreateOrder(IDeliveryOrder order, AggregatorCell cell) { var paymentUnit = Extensions.GetPaymentTuple(order, cell.Converter, cell.PaymentTypes); var createRequest = cell.Converter.ToCreateOrderRequest(order, paymentUnit.Item1, paymentUnit.Item2); var createResponse = cell.ApiClient.CreateOrder(createRequest); var getRequest = cell.Converter.ToGetOrderRequest(createResponse); var getResponse = cell.ApiClient.GetOrder(getRequest); if (getResponse == null) { PluginContext.Log.Info($"Could not get order {order.Number} (aggregator api does not support GetOrder request)"); } var toCache = cell.Converter.ToCommonCache(createResponse); toCache.OrderId = order.Id; toCache.OrderNumber = order.Number; toCache.Status = cell.Converter.ToCommonStatus(order.DeliveryStatus); _cache.AddOrUpdate(order.Id, cell.Converter.ToCommonCache(createResponse)); PluginContext.Log.Info($"Order with courier {order.Courier.Name} and #{order.Number} created: {createResponse.Message}"); }
private void OnDeliveryOrderChanged(IDeliveryOrder order) { try { if (order.Courier == null) { return; } AggregatorCell currAggregator = _service.Get(order.Courier.Name.ToLower()); if (currAggregator == null) { return; } if (!_cache.Contains(order.Id)) { CreateOrder(order, currAggregator); } } catch (Exception ex) { PluginContext.Log.Error($"Failed to create or update Order {order.Number}", ex); } }
public Task<string> GetDeliveryTrackingNumber(IDeliveryOrder order, CancellationToken ct = default) { throw new System.NotImplementedException(); }