public static Delivery GetRandomDelivery() { var delivery = new Delivery(DateTime.Now, string.Format("DO{0}", DataHelper.GetNumericString(9)), string.Format("{0} Ubi Avenue {1} Singapore {2}", DataHelper.GetNumber(1, 99), DataHelper.GetNumber(), DataHelper.GetNumber(0, 999))); delivery.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); delivery.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); return delivery; }
public void SaveCompletedDelivery() { var repo = new DetrackRepository<Delivery>("ab1d456a7296733ce90501565eaf3583058b183cb7c6df80"); var history = new HistoryRepository(); const string deliveryId1 = "8897978"; var delivery1 = new Delivery(new DateTime(2014, 8, 29), deliveryId1); var response = repo.GetItems(new List<Delivery> {delivery1}); foreach (var operationResult in response.Results) { Assert.IsTrue(history.SaveCompletedDelivery(operationResult.Delivery)); } }
public bool SaveCompletedDelivery(Delivery baseItem) { try { using (var connection = database.NewConnection()) { using (IDbCommand command = connection.CreateCommand()) { var update = DataItemExists(baseItem.Do); if (update) command.CommandText = @"UPDATE [@DEL_HIST_HEADER] SET U_date = ?, U_Address = ?, U_Delivery_Time = ?, U_Deliver_To = ?, U_Phone = ?, U_Notify_Email = ?, U_Notify_Url = ?, U_Assign_To = ?, U_Instructions = ?, U_Zone = ?, U_Reason = ?, U_Note = ?, U_Received_By = ?, U_Image = ?, U_View_Image_Url = ?, U_Status = ?, U_Time = ?, U_Pod_Lat = ?, U_Pod_Lng = ?, U_Pod_Address = ? WHERE U_do = ?"; else command.CommandText = @"INSERT INTO [@DEL_HIST_HEADER] VALUES ( (SELECT MAX(CODE)+1 FROM [@DEL_HIST_HEADER]), (SELECT MAX(CODE)+1 FROM [@DEL_HIST_HEADER]), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; connection.Open(); if (update) database.ExecuteNonQuery(command, baseItem.Date, baseItem.Address, baseItem.Delivery_Time, baseItem.Deliver_To, baseItem.Phone, baseItem.Notify_Email, baseItem.Notify_Url, baseItem.Assign_To, baseItem.Instructions, baseItem.Zone, baseItem.Reason, baseItem.Note, baseItem.Received_By, baseItem.Image.ToString(), baseItem.View_Image_Url, baseItem.Status, baseItem.Time.GetValueOrDefault().ToShortTimeString(), baseItem.Pod_Lat.ToString(), baseItem.Pod_Lng.ToString(), baseItem.Pod_Address, int.Parse(baseItem.Do)); else database.ExecuteNonQuery(command, baseItem.Date, int.Parse(baseItem.Do), baseItem.Address, baseItem.Delivery_Time, baseItem.Deliver_To, null, null, baseItem.Phone, baseItem.Notify_Email, baseItem.Notify_Url, baseItem.Assign_To, baseItem.Instructions, baseItem.Zone, baseItem.Reason, baseItem.Note, baseItem.Received_By, null, baseItem.Image.ToString(), baseItem.View_Image_Url, baseItem.Status, baseItem.Time.GetValueOrDefault().ToShortTimeString(), baseItem.Pod_Lat.ToString(), baseItem.Pod_Lng.ToString(), baseItem.Pod_Address); foreach (var item in baseItem.Items) { SaveItems(item, baseItem.Do); } } } return true; } catch (Exception ex) { log.Error(ex, "Error saving completed item {0}", baseItem.Do); return false; } }
public void AddDelivery() { var manager = new DetrackRepository<Delivery>(); var delivery = new Delivery(DateTime.Now, string.Format("DO{0}", DataHelper.GetNumericString(9)), string.Format("{0} Ubi Avenue {1} Singapore {2}", DataHelper.GetNumber(1, 99), DataHelper.GetNumber(), DataHelper.GetNumber(0, 999))); var delivery1 = new Delivery(DateTime.Now, string.Format("DO{0}", DataHelper.GetNumericString(9)), string.Format("{0} Ubi Avenue {1} Singapore {2}", DataHelper.GetNumber(1, 99), DataHelper.GetNumber(), DataHelper.GetNumber(0, 999))); delivery.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); delivery.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); delivery1.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); delivery1.Items.Add(new Item(DataHelper.GetAlphanumericString(5), DataHelper.GetAlphanumericString(50), DataHelper.GetNumber(1, 50))); var response = manager.Add(new List<Delivery>{delivery, delivery1}); Assert.AreEqual(response.Info.Status, Status.ok.ToString()); Assert.AreEqual(response.Info.Failed, 0); var listResponse = manager.GetAllForDate(DateTime.Now); Assert.AreEqual(listResponse.Count(), 2); }
public void GetSignatureImageDelivery() { var repo = new DetrackRepository<Delivery>("ab1d456a7296733ce90501565eaf3583058b183cb7c6df80"); const string deliveryId = "8897978"; var delivery = new Delivery(new DateTime(2014, 8, 29), deliveryId); Assert.IsNotNull(repo.GetImage(delivery, ImageType.POD_PHOTO_6)); }
public void EditDeliveries() { var deliveryId1 = string.Format("DO{0}", DataHelper.GetNumericString(9)); var address1 = DataHelper.GetAlphanumericString(50); var delivery1 = new Delivery(DateTime.Now, deliveryId1, address1); var deliveryId2 = string.Format("DO{0}", DataHelper.GetNumericString(9)); var address2 = DataHelper.GetAlphanumericString(50); var delivery2 = new Delivery(DateTime.Now, deliveryId2, address2); var repo = new DetrackRepository<Delivery>(); repo.Add(new List<Delivery>{delivery1, delivery2}); delivery1.Address = DataHelper.GetAlphanumericString(50); delivery2.Address = DataHelper.GetAlphanumericString(50); var response = repo.EditItems(new List<Delivery> { delivery1, delivery2 }); Assert.AreEqual(response.Info.Status, Status.ok.ToString()); Assert.AreEqual(response.Info.Failed, 0); var results = repo.GetItems(new List<Delivery> { new Delivery(DateTime.Now, deliveryId1), new Delivery(DateTime.Now, deliveryId2) }); Assert.AreEqual(results.Info.Status, Status.ok.ToString()); Assert.AreEqual(results.Info.Failed, 0); var d1 = results.Results.Select(d => d.Delivery).FirstOrDefault(d => d.Do == deliveryId1); var d2 = results.Results.Select(d => d.Delivery).FirstOrDefault(d => d.Do == deliveryId2); Assert.IsTrue(d1 != null && d1.Address != address1); Assert.IsTrue(d2 != null && d1.Address != address2); }
public Image GetSignatureImage(Delivery delivery) { try { Image result; byte[] respBytes; using (var client = new WebClient()) { var fields = new NameValueCollection { {"key", Key}, {"json", string.Format("{{\"date\":\"{0}-{1}-{2}\", \"do\":\"{3}\"}}", delivery.Date.Year, delivery.Date.Month, delivery.Date.Day, delivery.Do)} }; respBytes = client.UploadValues(GetSignatureImageUrl, fields); } using (var streamBitmap = new MemoryStream(respBytes)) { using (var image = Image.FromStream(streamBitmap)) { result = new Bitmap(image); } } var imagePath = string.Format("{0}_{1}_Signature.jpg", delivery.Date.ToString("yyyy-MM-dd"), delivery.Do); ImageHelper.SaveImage(imagePath, result); return result; } catch (Exception ex) { return null; } }