public CommonDDLWriter(SqlFuConnection db, DbEngine engine) { db.MustNotBeNull(); Db = db; Builder = new StringBuilder(); _engine = engine; }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var doc = JsonSerializer.Deserialize(s).AsDocument; return engine.Update(col, new BsonDocument[] { doc }); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var fs = new LiteFileStorage(engine); var id = this.ReadId(s); return fs.Delete(id); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var query = this.ReadQuery(s); return engine.Delete(col, query); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var index = s.Scan(this.FieldPattern).Trim(); return engine.Min(col, index.Length == 0 ? "_id" : index); }
public RedefineForAttribute(DbEngine engine, string definition) { if (engine == DbEngine.None) throw new ArgumentException("I need a database engine"); definition.MustNotBeEmpty(); Database = engine; Definition = definition; }
public SqlFuConnection(DbConnection cnx,DbEngine engine) { cnx.MustNotBeNull(); _conex = cnx; _provider = ProviderFactory.GetProvider(engine); _conex.Open(); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var newName = s.Scan(@"[\w-]+").ThrowIfEmpty("Invalid new collection name"); return engine.RenameCollection(col, newName); }
public CommonDDLWriter(IAccessDb db,DbEngine engine) { db.MustNotBeNull(); Db = db; Builder = new StringBuilder(); _engine = engine; }
public BsonValue Execute(DbEngine engine, StringScanner s) { var fs = new LiteFileStorage(engine); var id = this.ReadId(s); var metadata = JsonSerializer.Deserialize(s).AsDocument; return fs.SetMetadata(id, metadata); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var cols = engine.GetCollectionNames().OrderBy(x => x).ToArray(); if (cols.Length == 0) return BsonValue.Null; return string.Join(Environment.NewLine, cols); }
public ActionResult Index(int? claimId) { var db = new DbEngine(); TenderClaim claim = null; var dealTypeString = string.Empty; var claimStatusString = string.Empty; if (claimId.HasValue) { claim = db.LoadTenderClaimById(claimId.Value); if (claim != null) { var managerFromAd = UserHelper.GetManagerFromActiveDirectoryById(claim.Manager.Id); if (managerFromAd != null) { claim.Manager.Name = managerFromAd.Name; } claim.Positions = db.LoadSpecificationPositionsForTenderClaim(claimId.Value); if (claim.Positions != null && claim.Positions.Any()) { var productManagers = claim.Positions.Select(x => x.ProductManager).ToList(); foreach (var productManager in productManagers) { var productManagerFromAd = UserHelper.GetProductManagerFromActiveDirectoryById(productManager.Id); if (productManagerFromAd != null) { productManager.Name = productManagerFromAd.Name; } } var calculations = db.LoadCalculateSpecificationPositionsForTenderClaim(claimId.Value); if (calculations != null && calculations.Any()) { foreach (var position in claim.Positions) { position.Calculations = calculations.Where(x => x.IdSpecificationPosition == position.Id).ToList(); } } } var dealTypes = db.LoadDealTypes(); var dealType = dealTypes.FirstOrDefault(x => x.Id == claim.DealType); if (dealType != null) { dealTypeString = dealType.Value; } var statusList = db.LoadClaimStatus(); var status = statusList.FirstOrDefault(x => x.Id == claim.ClaimStatus); if (status != null) { claimStatusString = status.Value; } } } ViewBag.Claim = claim; ViewBag.Status = claimStatusString; ViewBag.DealType = dealTypeString; return View(); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var query = this.ReadQuery(s); var skipLimit = this.ReadSkipLimit(s); var docs = engine.Find(col, query, skipLimit.Key, skipLimit.Value); return new BsonArray(docs); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var field = s.Scan(this.FieldPattern).Trim(); var opts = JsonSerializer.Deserialize(s); var options = opts.IsNull ? new IndexOptions() : opts.IsBoolean ? new IndexOptions { Unique = opts.AsBoolean } : (new BsonMapper()).ToObject<IndexOptions>(opts.AsDocument); return engine.EnsureIndex(col, field, options); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var filename = s.Scan(@".*"); using (var sr = new StreamReader(filename, Encoding.UTF8)) { var docs = JsonSerializer.DeserializeArray(sr); return engine.Insert(col, docs.Select(x => x.AsDocument)); } }
public static IHaveDbProvider GetProvider(DbEngine engine) { switch (engine) { case DbEngine.SqlServer: return new SqlServerProvider(); case DbEngine.SqlServerCE: return new SqlServerCEProvider(); case DbEngine.MySql: return new MySqlProvider(); case DbEngine.PostgreSQL:return new PostgresProvider(); case DbEngine.Oracle:return new OracleProvider(); case DbEngine.SQLite:return new SqliteProvider(); } throw new Exception("Unkown provider"); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var fs = new LiteFileStorage(engine); var id = this.ReadId(s); var filename = Path.GetFullPath(s.Scan(@"\s*.*").Trim()); if (!File.Exists(filename)) throw new IOException("File " + filename + " not found"); var file = fs.Upload(id, filename); return file.AsDocument; }
public JsonResult Delete(int id) { var isComplete = false; try { var db = new DbEngine(); isComplete = db.DeleteCalculateSpecificationPosition(id); } catch (Exception) { isComplete = false; } return Json(new { IsComplete = isComplete }, JsonRequestBehavior.AllowGet); }
public JsonResult Edit(CalculateSpecificationPosition model) { var isComplete = false; try { var db = new DbEngine(); isComplete = db.UpdateCalculateSpecificationPosition(model); } catch (Exception) { isComplete = false; } return Json(new { IsComplete = isComplete }); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var query = this.ReadQuery(s); var skipLimit = this.ReadSkipLimit(s); var docs = engine.Find(col, query, skipLimit.Key, skipLimit.Value); var cnt = 0; foreach(var d in docs) { cnt++; } return new BsonValue(cnt); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var value = JsonSerializer.Deserialize(s); if (value.IsArray) { return engine.Insert(col, value.AsArray.RawValue.Select(x => x.AsDocument)); } else { engine.Insert(col, new BsonDocument[] { value.AsDocument }); return BsonValue.Null; } }
public BsonValue Run(DbEngine engine, string command) { if (string.IsNullOrEmpty(command)) return BsonValue.Null; var s = new StringScanner(command); foreach (var cmd in _commands) { if (cmd.IsCommand(s)) { return cmd.Execute(engine, s); } } throw LiteException.InvalidCommand(command); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var fs = new LiteFileStorage(engine); if (s.HasTerminated) { var files = fs.FindAll().Select(x => x.AsDocument); return new BsonArray(files); } else { var id = this.ReadId(s); var files = fs.Find(id).Select(x => x.AsDocument); return new BsonArray(files); } }
public BsonValue Execute(DbEngine engine, StringScanner s) { var fs = new LiteFileStorage(engine); var id = this.ReadId(s); var filename = s.Scan(@"\s*.*").Trim(); var file = fs.FindById(id); if (file != null) { file.SaveAs(filename, true); return file.AsDocument; } else { return false; } }
public BsonValue Execute(DbEngine engine, StringScanner s) { if (s.HasTerminated || s.Match(@"\d+")) { var start = s.Scan(@"\d*").Trim(); var end = s.Scan(@"\s*\d*").Trim(); if (start.Length > 0 && end.Length == 0) end = start; return engine.DumpPages( start.Length == 0 ? 0 : Convert.ToUInt32(start), end.Length == 0 ? uint.MaxValue : Convert.ToUInt32(end)).ToString(); } else { var col = s.Scan(@"[\w-]+"); var field = s.Scan(@"\s+\w+").Trim(); return engine.DumpIndex(col, field).ToString(); } }
public static SqlFuConnection GetDb(bool noLog = false,DbEngine engine=DbEngine.SqlServer) { var cnx = Connex; switch(engine) { case DbEngine.SQLite: DirectoryInfo dd = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory); var f = dd.Parent.Parent.FullName; cnx = string.Format(SqliteConnex, Path.Combine(f, "testdb.db")); //cnx = SqliteConnex; break; case DbEngine.MySql: cnx = MysqlConnex; break; case DbEngine.PostgreSQL: cnx = PostgresConnex; break; } var d = new SqlFuConnection(cnx, engine); return d; }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); var field = s.Scan(this.FieldPattern).Trim().ThrowIfEmpty("Invalid field name"); var opts = JsonSerializer.Deserialize(s); var options = new IndexOptions(); if(opts.IsBoolean) { options.Unique = opts.AsBoolean; } else if(opts.IsDocument) { var doc = opts.AsDocument; if (doc["unique"].IsBoolean) options.Unique = doc["unique"].AsBoolean; if (doc["ignoreCase"].IsBoolean) options.IgnoreCase = doc["ignoreCase"].AsBoolean; if (doc["removeAccents"].IsBoolean) options.RemoveAccents = doc["removeAccents"].AsBoolean; if (doc["trimWhitespace"].IsBoolean) options.TrimWhitespace = doc["trimWhitespace"].AsBoolean; if (doc["emptyStringToNull"].IsBoolean) options.EmptyStringToNull = doc["emptyStringToNull"].AsBoolean; } return engine.EnsureIndex(col, field, options); }
public static void ConnectionStringIs(string conn, DbEngine engineType) { conn.MustNotBeEmpty(); connString = conn; Engine = engineType; }
/// <summary> /// OrdersFulfillment controller /// Make Shopify fulfillment calls with given order ids and tracking numbers /// Write shopUrl to hidden input to front-end for further queries /// </summary> public async Task <ActionResult> OrdersFulfillment(string ShopUrl, string OrderIds, string LabelNumbers, string NotifyFlag) { //Db connection to query store details DbEngine conn = new DbEngine(); //get store Shopify's token to access API string token = conn.GetStringValues(ShopUrl, "ShopifyToken"); if (!OrderIds.Contains(",")) {//If there in only one order //new ShopifyAPI objects to query ShopifyAPI newApi = new ShopifyAPI(); //get fulfillment ids (if existed on this order) string fulfillments = await newApi.GetFulfillment(ShopUrl, token, OrderIds); if (fulfillments == "") {//if not fulfilled yet, fulfill it string fulfillmentId = await newApi.NewFulfillment(ShopUrl, token, OrderIds, LabelNumbers, NotifyFlag); //string fulfillmentId = await newApi.NewFulfillment(ShopUrl, token, OrderIds, LabelNumbers); } else if (!fulfillments.Contains(",")) {//if fulfilled, update tracking information string fulfillmentId = await newApi.UpdateFulfillment(ShopUrl, token, OrderIds, fulfillments, LabelNumbers, NotifyFlag); } else { List <string> fulfillmentIds = fulfillments.Split(',').ToList(); foreach (string fId in fulfillmentIds) { string fulfillmentId = await newApi.UpdateFulfillment(ShopUrl, token, OrderIds, fId, LabelNumbers, NotifyFlag); } } } else {//more than one order //get the list of orderIds List <string> orderIds = OrderIds.Split(',').ToList(); //bulk print List <string> labelNumbers = LabelNumbers.Split(',').ToList(); //foreach (string id in orderIds) for (var i = 0; i < orderIds.Count; i++) {//loop through orderIds list and fulfill/update fulfillment as per required ShopifyAPI newApi = new ShopifyAPI(); string fulfillments = await newApi.GetFulfillment(ShopUrl, token, orderIds[i]); if (fulfillments == "") {//if not fulfilled yet, fulfill it string fulfillmentId = await newApi.NewFulfillment(ShopUrl, token, orderIds[i], labelNumbers[i], NotifyFlag); //string fulfillmentId = await newApi.NewFulfillment(ShopUrl, token, id, LabelNumbers); } else if (!fulfillments.Contains(",")) {//if fulfilled, update tracking information string fulfillmentId = await newApi.UpdateFulfillment(ShopUrl, token, orderIds[i], fulfillments, labelNumbers[i], NotifyFlag); } else { List <string> fulfillmentIds = fulfillments.Split(',').ToList(); foreach (string fId in fulfillmentIds) { string fulfillmentId = await newApi.UpdateFulfillment(ShopUrl, token, orderIds[i], fId, labelNumbers[i], NotifyFlag); } } } } Response.Write("<input id='shopUrl' type='hidden' value='" + ShopUrl + "'>");//passing shopUrl to View() for further queries return(View()); }
public BsonValue Execute(DbEngine engine, StringScanner s) { return(BsonValue.Null); }
public OperationProtocolForm(OperationClass operationInfo, PatientClass patientInfo, DbEngine dbEngine) { _stopSaveParameters = true; InitializeComponent(); _dbEngine = dbEngine; _operationInfo = operationInfo; _patientInfo = patientInfo; }
public BsonValue Execute(DbEngine engine, StringScanner s) { return(engine.Shrink()); }
public NameOnlyOption(string name, DbEngine engine) : base(name, engine) { }
public void DropDatabase() { var engine = new DbEngine(); engine.DropDatabase(); }
/// <summary> /// Read collection name from db.(colname).(command) /// </summary> public string ReadCollection(DbEngine db, StringScanner s) { return(s.Scan(@"db\.([\w-]+)\.\w+\s*", 1)); }
/// <summary> /// Authorise method /// Process returned authorisation sync from Shopify, get the updated accessToken /// Check and add or update accessToken/install status if required /// </summary> /// <param name="shop">shop Url</param> /// <param name="code">authorisation code</param> /// <param name="state">authorisation state</param> /// <returns></returns> public async Task <ActionResult> Authorise(string shop, string code, string state) { //Get updating accessToken to Shopify Store string accessToken = await AuthorizationService.Authorize(code, shop, apiKey, secretKey); DbEngine DBConnection = new DbEngine(); if (DBConnection.ExistingShop(shop)) //Check if shop has installed the app { if (DBConnection.GetIntergerValues(shop, "AppInstalled") == 0) //App previously uninstalled { DBConnection.UpdateIntergerValues(shop, "AppInstalled", 1); //reset indicator var service = new WebhookService(shop, accessToken); var hook = new Webhook() { Address = appUrl + "Shopify/Uninstalled?shopUrl=" + shop, CreatedAt = DateTime.Now, Format = "json", Topic = "app/uninstalled" }; try { hook = await service.CreateAsync(hook); } catch (ShopifyException e) { throw e; } } string currentToken = DBConnection.GetStringValues(shop, "ShopifyToken"); if (currentToken != accessToken) //check and update Shopify Token { DBConnection.UpdateStringValues(shop, "ShopifyToken", accessToken); } } else {//initiat a webhook to manage uninstalls DBConnection.InsertNewShop(shop, accessToken); var service = new WebhookService(shop, accessToken); var hook = new Webhook() { Address = appUrl + "Shopify/Uninstalled?shopUrl=" + shop, CreatedAt = DateTime.Now, Format = "json", Topic = "app/uninstalled" }; try { hook = await service.CreateAsync(hook); } catch (ShopifyException e) { throw e; } } //Redirect to Home/Index with parameter return(RedirectToAction("Installed", "Home", new { shopUrl = shop })); }
public AbstractDropConstraintWriter(StringBuilder builder, DbEngine engine, IDatabaseTools tools) : base(builder, engine) { _tools = tools; }
public JsonResult LabelQuery(string ShopUrl, string Address1, string Address2, string Suburb, string Postcode, string Region, float Weight, string Type) { //DB connection to query store details DbEngine newDB = new DbEngine(); //get store details with provided url StoreRecord storeDetails = newDB.GetShopRecord(ShopUrl); //Labeldetails entity to query Labeldetails label = new Labeldetails(); //populate store details for query label.apiKey = storeDetails.FastwayApiKey; label.fromAddress1 = storeDetails.StoreAddress1; label.fromCity = storeDetails.Suburb; label.fromPostcode = storeDetails.Postcode; //populate delivery details for query label.toAddress1 = Address1; label.toAddress2 = Address2; label.toCity = Suburb; label.toPostcode = Postcode; //populate parcel details for query label.weight = (double)Weight; label.countryCode = storeDetails.CountryCode; //FastwayAPI object for service query FastwayAPI newApiCall = new FastwayAPI(); //Call fastway API and receive back a list of available service List <UsableLabel> services = newApiCall.ServiceQuery(label); //UsableLabel entity to respond UsableLabel service = new UsableLabel(); try { if (services.First().CostexgstTotalChargeToEndUser != 0) { //if no service found if (services.Count == 1 && Type != "Parcel") { //no service and type was "Parcel" return(Json(new { //return an Error code Error = "No Service Available" })); } else//service(s) available { if (Type == "Parcel") {//type was "Parcel", assign parcel option to response json service = services.First(); } else {//type was NOT "Parcel", get service based on value of Type if (Type == "SAT-NAT-A3") { if (services.First().BaseLabelColour == "BROWN") { service = services[services.FindIndex(a => a.BaseLabelColour == "SAT-LOC-A3")]; } else { service = services[services.FindIndex(a => a.BaseLabelColour == Type)]; } } else { service = services[services.FindIndex(a => a.BaseLabelColour == Type)]; } } return(Json(new {//return details about availabel service BaseLabelColour = service.BaseLabelColour, TotalCost = service.CostexgstTotalChargeToEndUser, Rural = service.RuralLabelCostExgst > 0 ? true : false, Excess = service.ExcessLabelCount, Saturday = services.First().Saturday })); } } else { return(Json(new {//Error code from Fastway NOTE: will need to handle different type of error HERE Error = "No Service Available" })); } } catch (Exception e) { //general error code Note: will need to handle these throw e; } }
public DbSpecificOption(string name, DbEngine engine) { Name = name; Engine = engine; }
public void ShowData() { DbEngine engineworker = new DbEngine(); Airport airport = engineworker.GetAirportData(CityCode); HumidityBlovkLabel.Text = airport.Humidity.ToString(); HumidityConditionGeneralLabel.Text = "Υγρασία " + airport.Humidity.ToString(); string outputTemperature = airport.Temperature.ToString().Split(new char[] { '(', ')' })[1]; outputTemperature = outputTemperature.Substring(0, 2); TemperatureConditionGeneralLabel.Text = "Θερμοκρασία " + outputTemperature + "°C"; TemperatureBlockLabel.Text = outputTemperature + "°C";; WindConditionGeneralLabel.Text = "Άνεμος " + airport.Wind; PressureConditionGeneralLabel.Text = "Ατμοσφαιρική Πίεση " + airport.Pressure.Substring(1, 12); if (airport.Visibility == " greater than 7 mile(s):0") { VisibilityConditionGeneralLabel.Text = "Ορατότητα Μεγαλύτερη απο 7 Ν. Μίλια"; } else { VisibilityConditionGeneralLabel.Text = "Ορατότητα " + airport.Visibility; } int index = airport.DateTime.IndexOf('/'); UpdateLabel.Text = "Ενημερώθηκε " + airport.DateTime.Substring(index + 1); switch (airport.WeatherCondition.ToString()) { case " partly cloudy": { WeatherConditionLabel.Source = MultimediaLoad.LoadPngImage("WeatherConditions/Status-weather-clouds-icon"); WeatherConditionSub.Text = "Λίγα Σύννεφα"; WeatherConditionGeneralLabel.Text = "Καιρικές Συνθήκες " + WeatherConditionSub.Text; } break; case " mostly cloudy": { WeatherConditionLabel.Source = MultimediaLoad.LoadPngImage("WeatherConditions/Status-weather-many-clouds-icon"); WeatherConditionSub.Text = "Συννεφιά"; WeatherConditionGeneralLabel.Text = "Καιρικές Συνθήκες " + WeatherConditionSub.Text; } break; case " mostly clear": { WeatherConditionLabel.Source = MultimediaLoad.LoadPngImage("WeatherConditions/Status-weather-clear-icon"); WeatherConditionSub.Text = "Καθαρός"; WeatherConditionGeneralLabel.Text = "Καιρικές Συνθήκες " + WeatherConditionSub.Text; } break; case "NaN": { WeatherConditionSub.Text = "Server Error"; WeatherConditionGeneralLabel.Text = "Καιρικές Συνθήκες " + WeatherConditionSub.Text; MessageBox.Show("Ο Server Δεν επέστρεψε πλήρεις πληροφορίες για τις καιρικές συνθήκες στην περιοχή."); } break; } }
/// <summary> /// 上传数据 /// </summary> /// <param name="state">异步状态同步变量</param> public void UploadTable(object state) { List <string> tableName = GetTableToBeUploaded(); List <Model.TableModel.Sys_tbl_operate_record> recordToBeAdded = new List <Model.TableModel.Sys_tbl_operate_record>(); try { foreach (var item in tableName) { string sql = string.Format("select * from {0}", item); DataTable dtData = AccessDbEngine.QueryTable(sql); StringBuilder idToBeDelete = new StringBuilder(); idToBeDelete.Append("'"); if (dtData != null && dtData.Rows.Count > 0) { bool containId = true; DataTable dtToBeAdded = dtData.Clone(); dtToBeAdded.Clear(); foreach (DataColumn dc in dtData.Columns) { if (dc.ColumnName.ToLower() == "id") { containId = true; break; } containId = false; } foreach (DataRow dr in dtData.Rows) { Model.TableModel.Sys_tbl_operate_record model = new Model.TableModel.Sys_tbl_operate_record(); string currentId = string.Empty; if (!containId) { currentId = CreateIdByRow(dr); } else { currentId = (dr["id"] ?? "UNKNOWN").ToString(); } if (AlreadyOpreate(currentId, "upload")) { continue; } model.id = currentId; model.status_name = "已确认"; model.status_no = "310"; model.tbl_name = item; model.tbl_operate_time = DateTime.Now; model.tbl_oprate_type = "upload"; recordToBeAdded.Add(model); dtToBeAdded.Rows.Add(dr); idToBeDelete.Append(currentId); idToBeDelete.Append("','"); } if (idToBeDelete.Length > 2) { idToBeDelete.Remove(idToBeDelete.Length - 2, 2); } string sqlDelete = string.Format("delete from {0} where id in ({1})", item, idToBeDelete); DbEngine.QueryInt <Model.TableModel.Sys_tbl_operate_record>("Insert", recordToBeAdded); recordToBeAdded.Clear(); DbEngine.InsertBulk(item, dtToBeAdded); } } GC.Collect(1); state = true; } catch (Exception ex) { throw ex; //state = false; } }
public JsonResult MultiLabelPrinting(string ShopUrl, string Instruction, float Weight, string Labels, string Reference, string FullDetails) { //DB connection to query store details DbEngine newDB = new DbEngine(); //get store details with provided url StoreRecord storeDetails = newDB.GetShopRecord(ShopUrl); //Labeldetails entity to query Labeldetails label = new Labeldetails(); ///populate store details for query label.apiKey = storeDetails.FastwayApiKey; label.fromCompany = storeDetails.StoreName; if (storeDetails.Phone != "" && storeDetails.Phone != null && storeDetails.Phone != "null") { label.fromPhone = storeDetails.Phone; } label.fromAddress1 = storeDetails.StoreAddress1; label.fromCity = storeDetails.Suburb; label.fromPostcode = storeDetails.Postcode; label.weight = Math.Ceiling(Weight * 100) / 100; label.specialInstruction1 = Instruction; label.countryCode = storeDetails.CountryCode; //parsing the labels addresses details JArray ls = JArray.Parse(Labels); JArray fds = JArray.Parse(FullDetails); List <string> references = Reference.Split(',').ToList(); List <Labeldetails> labelDetails = new List <Labeldetails>(); for (var i = 0; i < ls.Count; i++) { if (ls[i]["BaseLabel"].ToString() != "") { Labeldetails l = label; if (ls[i]["Company"].ToString() != "" && ls[i]["Company"].ToString() != null && ls[i]["Company"].ToString() != "null") { l.toCompany = ls[i]["Company"].ToString(); l.toContactName = ls[i]["Name"].ToString(); } else { l.toCompany = ls[i]["Name"].ToString(); } if (references.Count > 0) { l.reference = references[i]; } l.toAddress1 = ls[i]["Address1"].ToString(); l.toAddress2 = ls[i]["Address2"].ToString(); l.toPostcode = ls[i]["Postcode"].ToString(); l.toCity = ls[i]["Suburb"].ToString(); l.labelColour = ls[i]["Service"].ToString(); l.labelNumber = ls[i]["BaseLabel"].ToString(); l.ruralNumber = ls[i]["RuralLabel"].ToString(); l.toRfName = ls[i]["Destination"].ToString(); labelDetails.Add(l); } } try { PdfDocument doc = new PdfDocument(); if (labelDetails.Count > 0) { FastwayAPI getBase = new FastwayAPI(); doc = getBase.PrintMultipleLabels(labelDetails, doc); } MemoryStream pdfStream = new MemoryStream(); doc.Save(pdfStream, false); byte[] pdfBytes = pdfStream.ToArray(); var pdfString = Convert.ToBase64String(pdfBytes); return(Json(new {//return status success PdfBase64Stream = pdfString })); } catch (Exception e) { //error return(Json(new { //return status success Error = e.Message })); } }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); return(new BsonArray(engine.GetIndexes(col).Select(x => x.AsDocument))); }
public BsonValue Execute(DbEngine engine, StringScanner s) { var col = this.ReadCollection(engine, s); return(engine.DropCollection(col)); }
/// <summary> /// NewConsignment controller /// Based on the specified order IDs by Shopify, write required variables /// to front-end in hidden inputs for further queries /// Used for both single or multiple orders /// Filter out international orders /// </summary> public async Task <ActionResult> NewConsignment(string shop, string[] ids, string id) { //Get order numbers string orders; if (id != null) { orders = id; } else { orders = Request.QueryString["ids[]"]; if (orders == null) { orders = Request.QueryString["ids[][]"]; } } //required objects List <string> orderIds = new List <string>(); //list of orderIds List <string> processingOrderIds = new List <string>(); //list of orderIds List <string> processingOrderPreferences = new List <string>(); //list of orderIds List <Order> orderDetails = new List <Order>(); //list of order details List <ShopifySharp.Address> deliveryAddress = new List <ShopifySharp.Address>(); //list of delivery details List <string> emails = new List <string>(); //list of emails addresses if (orders == null || orders == "") //No order select (in case customer reach this page from outside of their admin page { return(View()); //NOTE: might need to redirect them to their admin page } if (orders.Contains(','))//if there are more than one order { //get a list of order numbers received orderIds = orders.Split(',').ToList(); } else { //get a list of ONE order number orderIds.Add(orders); } //DB connection required to query store details DbEngine conn = new DbEngine(); //Get Shopify Token to access Shopify API string token = conn.GetStringValues(shop, "ShopifyToken"); int cCode = conn.GetIntergerValues(shop, "CountryCode"); List <CustomParcel> lCustomParcels = conn.GetCustomParcel(shop); //ShopifyAPI object ShopifyAPI api = new ShopifyAPI(); //foreach order number from list, get a list of delivery details for (int i = 0; i < orderIds.Count; i++) { //get the order with order number Order k = await api.GetOrder(shop, token, orderIds[i]); if (k.ShippingAddress != null) {//if shipping address exist, add to list of delivery details bool check = true; //check if order is international switch (cCode) { case 6: if (k.ShippingAddress.Country != "New Zealand") { check = false; } break; case 1: if (k.ShippingAddress.Country != "Australia") { check = false; } break; } //check if duplicate addresses if (deliveryAddress.Count > 0) { for (var l = 0; l < deliveryAddress.Count; l++) { if (deliveryAddress[l].Name == k.ShippingAddress.Name) { check = false; break; } } } if (check == true) { deliveryAddress.Add(k.ShippingAddress); emails.Add(k.Email); processingOrderIds.Add(orderIds[i]); processingOrderPreferences.Add(k.OrderNumber.ToString()); } } orderDetails.Add(k);//add order details into list of order details } ////jsonserialiser object to form json from list JavaScriptSerializer jsonSerialiser = new JavaScriptSerializer(); ////creating json about orders to pass back to View() //string orderJson = jsonSerialiser.Serialize(orderDetails); string stringCP = jsonSerialiser.Serialize(lCustomParcels); string stringOrderReference = string.Join(",", processingOrderPreferences); //Forming data to pass back string address = ""; string note = ""; string addresses = ""; string strOrderIds = ""; if (deliveryAddress.Count == 0) {//No delivery address found address = "NoAddress"; } else if (deliveryAddress.Count > 1) {//More than one addresses found address = "MoreThanOne"; addresses = jsonSerialiser.Serialize(deliveryAddress); strOrderIds = string.Join(",", processingOrderIds); } else {//one address address = jsonSerialiser.Serialize(deliveryAddress[0]); switch (cCode) { case 6: if (deliveryAddress[0].Country != "New Zealand") { address = "International"; } break; case 1: if (deliveryAddress[0].Country != "Australia") { address = "International"; } break; } for (int i = 0; i < orderDetails.Count; i++) { if (orderDetails[i].Note != "") { note += orderDetails[i].Note; } } } Response.Write("<input id='shopUrl' type='hidden' value='" + shop + "'>"); //passing shopUrl to View() for further queries Response.Write("<input id='cpStrings' type='hidden' value='" + stringCP + "'>"); //passing Custom Parcels if any to View() for further queries Response.Write("<input id='orderReference' type='hidden' value='" + stringOrderReference + "'>"); //passing order reference number if any to View() for further queries Response.Write("<input id='countryCode' type='hidden' value='" + cCode + "'>"); //passing countryCode to View() for further queries Response.Write("<input id='orderDetails' type='hidden' value='" + orders + "'>"); //passing orderIds to View() for further queries Response.Write("<input id='deliveryAddress' type='hidden' value='" + address + "'>"); //passing address to View() for further queries Response.Write("<input id='ordersAddresses' type='hidden' value='" + addresses + "'>"); //passing ordersdetails to View() for further queries Response.Write("<input id='orderIds' type='hidden' value='" + strOrderIds + "'>"); //passing ordersdetails to View() for further queries if (emails.Count >= 1) { Response.Write("<input id='emailAddress' type='hidden' value='" + string.Join(",", emails) + "'>"); //passing email address } if (note != "") { Response.Write("<input id='specialInstruction' type='hidden' value='" + note + "'>"); } return(View()); }
public void AddSpecific(DbEngine engine, string definition) { definition.MustNotBeEmpty(); _added.Add(new Tuple <DbEngine, string>(engine, definition)); }
protected AbstractUniqueKeyWriter(StringBuilder builder, DbEngine engine) : base(builder, engine) { }
public ExcelReportGeneratorManager(ILoggerFactory loggerFactory, DbEngine dbEngine, string connectionString) { _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <ExcelReportGeneratorManager>(); _extractor = new SimpleDbExtractor(_loggerFactory, dbEngine, connectionString); }
public JsonResult MultiLabelQuery(string ShopUrl, string Address1, string Address2, string Suburb, string Postcode, float Weight, string Instruction, string Type) { //DB connection to query store details DbEngine newDB = new DbEngine(); //get store details with provided url StoreRecord storeDetails = newDB.GetShopRecord(ShopUrl); //Labeldetails entity to query Labeldetails label = new Labeldetails(); //populate store details for query label.apiKey = storeDetails.FastwayApiKey; label.fromAddress1 = storeDetails.StoreAddress1; label.fromCity = storeDetails.Suburb; label.fromPostcode = storeDetails.Postcode; //populate delivery details for query label.toAddress1 = Address1; label.toAddress2 = Address2; label.toCity = Suburb; label.toPostcode = Postcode; //populate parcel details for query label.weight = (double)Weight; label.countryCode = storeDetails.CountryCode; List <string> labelNumbers = new List <string>(); string destRF = ""; try { if (Type != "Parcel") { if (Weight > 5) { labelNumbers.Add("No Service Found"); } else { label.specialInstruction1 = Instruction; //new fastwayAPI object to query FastwayAPI getLabel = new FastwayAPI(); //get label with V2 method Labeldetails l = new Labeldetails(); if (Type == "SAT-NAT-A3") { List <UsableLabel> services = getLabel.ServiceQuery(label); if (services.First().BaseLabelColour == "BROWN") { label.labelColour = services[services.FindIndex(a => a.BaseLabelColour == "SAT-LOC-A3")].BaseLabelColour; } else { label.labelColour = Type; } } else { label.labelColour = Type; } l = getLabel.LabelQueryV2(label); labelNumbers.Add(l.labelNumber); labelNumbers.Add(l.ruralNumber); destRF = l.toRfName; } } else { //new fastwayAPI object to query FastwayAPI getLabel = new FastwayAPI(); //get label with V2 method Labeldetails l = new Labeldetails(); List <UsableLabel> services = getLabel.ServiceQuery(label); label.labelColour = services.First().BaseLabelColour; l = getLabel.LabelQueryV2(label); labelNumbers.Add(l.labelNumber); labelNumbers.Add(l.ruralNumber); destRF = l.toRfName; } } catch (Exception) { labelNumbers.Add("No Service Found"); } return(Json(new {//return details about availabel service BaseLabel = labelNumbers[0], RuralLabel = labelNumbers[1], Service = label.labelColour, DestRF = destRF })); }
public SqlServerColumnWriter(StringBuilder builder, DbEngine engine) : base(builder, engine) { }
public CommonDbManager(DbEngine dbEngine, ILogger <CommonDbManager> logger) { _dbEngine = dbEngine; _logger = logger; }
public IModifyIndexes WithOptionsForDatabase(DbEngine engine, params DbSpecificOption[] options) { _current.Options.AddRange(options); return(this); }
public IEnumerable <string> GetSpecificIndexes(DbEngine engine) { return(_added.FindAll(d => d.Item1 == engine).Select(d => d.Item2)); }
public IDefineSpecificIndexOptions IfDatabaseIs(DbEngine engine) { _engine = engine; return(this); }
public SqlServerForeignKeyWriter(StringBuilder builder, DbEngine engine) : base(builder, engine) { }
public IDefineSpecificIndexOptions AddCustom(DbEngine engine, string definition) { Schema.AddSpecific(engine, definition); return(this); }
public DbAccess(string cnxString, DbEngine provider) { Init(cnxString, ProviderFactory.GetProvider(provider)); }
public JsonResult LabelPrintingV2(string ShopUrl, string DeliveryDetails, string PackagingDetails, bool Saturday) { //labeldetails object to call Fastway API Labeldetails label = new Labeldetails(); //DB connection to query sender details DbEngine conn = new DbEngine(); label.apiKey = conn.GetStringValues(ShopUrl, "FastwayApiKey"); //assign sender details label.fromAddress1 = conn.GetStringValues(ShopUrl, "StoreAddress1"); label.fromPostcode = conn.GetStringValues(ShopUrl, "Postcode"); label.fromCity = conn.GetStringValues(ShopUrl, "Suburb"); label.fromCompany = conn.GetStringValues(ShopUrl, "StoreName"); label.countryCode = conn.GetIntergerValues(ShopUrl, "CountryCode"); label.fromPhone = conn.GetStringValues(ShopUrl, "Phone"); //parse delivery details JObject d = JObject.Parse(DeliveryDetails); //assign receiver details label.toAddress1 = d["Address1"].ToString(); label.toAddress2 = d["Address2"].ToString(); label.toPostcode = d["Postcode"].ToString(); label.toCity = d["Suburb"].ToString(); label.specialInstruction1 = d["SpecialInstruction1"].ToString(); if (d["Company"].ToString() != "" && d["Company"].ToString() != "null" && d["Company"].ToString() != null) { label.toCompany = d["Company"].ToString(); label.toContactName = d["ContactName"].ToString(); } else { label.toCompany = d["ContactName"].ToString(); } label.toContactPhone = d["ContactPhone"].ToString(); //pull through email address for expect messaging label.toEmail = d["ContactEmail"].ToString(); //parse packaging details JArray p = JArray.Parse(PackagingDetails); //list of labelDetails that hold the labels being used List <Labeldetails> labelDetails = new List <Labeldetails>(); List <string> labelNumbers = new List <string>(); for (int i = 0; i < p.Count; i++) { for (int j = 0; j < (int)p[i]["Items"]; j++) { //package details label.weight = (double)p[i]["Weight"]; label.labelColour = p[i]["BaseLabel"].ToString(); label.reference = p[i]["Reference"].ToString(); label.saturday = Saturday; //new fastwayAPI object to query FastwayAPI getLabel = new FastwayAPI(); //get label with V2 method Labeldetails l = new Labeldetails(); l = getLabel.LabelQueryV2(label); labelDetails.Add(l); labelNumbers.Add(l.labelNumber); } } PdfDocument doc = new PdfDocument(); if (labelDetails.Count > 0) { FastwayAPI getBase = new FastwayAPI(); doc = getBase.PrintLabels(labelDetails, doc); } MemoryStream pdfStream = new MemoryStream(); doc.Save(pdfStream, false); byte[] pdfBytes = pdfStream.ToArray(); var pdfString = Convert.ToBase64String(pdfBytes); try { return(Json(new {//return status success Labels = String.Join(",", labelNumbers), PdfBase64Stream = pdfString })); } catch (Exception e) {//error throw e; } }
protected AbstractConstraintWriter(StringBuilder builder, DbEngine engine) : base(builder, engine) { }
public object BuildData(IDbConnection conn, IDbTransaction transaction, DbEngine engine, Int16 serverId, string database, string schema, TableMetadata table, ColumnDefinition column) { var size = column.SqlType.Precision != 0 ? column.SqlType.Precision : 10; return(KeyGenerator.GetUniqueKey(size)); }