private void datePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { SerialNumberModel serialN = checkSerialNumber(); string strD = ""; if (string.IsNullOrEmpty(clientModel.DateServiced)) { strD = DateTime.Parse(datePicker.Text).ToShortDateString(); } else { strD = DateTime.Parse(clientModel.DateServiced).ToShortDateString(); } string dteNow = DateTime.Now.ToShortDateString(); string dteSelected = datePicker.Text; if (string.IsNullOrEmpty(strD)) { strD = DateTime.Now.ToShortDateString(); } CODModel codnum = checkCODNumber(dteSelected); if (!strD.Equals(dteNow)) { txtCOD.Text = (Convert.ToInt32(codnum.COD1) + 1).ToString(); txtSerialNumber.Text = (Convert.ToInt32(serialN.SerialNumber) + 1).ToString(); } }
private CODModel checkCODNumber(string dte) { CODModel codMod = new CODModel(); try { queryString = "SELECT ID, COD, dateServiced FROM dbspa.tblcod WHERE (dateServiced = ?)"; parameters = new List <string>(); DateTime date = DateTime.Parse(dte); parameters.Add(date.Year + "/" + date.Month + "/" + date.Day); MySqlDataReader reader = conDB.getSelectConnection(queryString, parameters); while (reader.Read()) { codMod.ID1 = reader["ID"].ToString(); codMod.COD1 = reader["COD"].ToString(); codMod.DateServiced = Convert.ToDateTime(reader["dateServiced"].ToString()); } conDB.closeConnection(); } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } return(codMod); }
protected void FillComponentSheet(ISheet sheet, CODModel model, Database db) { BuildRow(sheet, HeadStyle, GetHeadValues()); sheet.CreateFreezePane(0, 1, 0, 1); long line = 0; var totalLines = model.Renderings.Count; var d = new Dictionary <Guid, Item>(); foreach (var a in model.Renderings) { d.Add(a.Key, a.Value); } foreach (var b in model.Sublayouts) { d.Add(b.Key, b.Value); } foreach (KeyValuePair <Guid, Item> itm in d) { line++; BuildRow(sheet, GreenStyle, GetTemplateValues($"{itm.Value.Name} ({itm.Value.TemplateName})", "Component")); var rpItem = GetItemByFieldId(db, itm.Value, RenderingParameterField); var dsItem = GetItemByFieldPath(db, itm.Value, DatasourceTemplateField); if (dsItem == null && rpItem == null) { BuildRow(sheet, DefaultStyle, GetEmptyValues()); continue; } if (dsItem != null) { EnumerateTemplateFields(sheet, db, dsItem, "Datasource"); } if (rpItem != null) { EnumerateTemplateFields(sheet, db, rpItem, "Rendering Parameters"); } JobService.SetJobMessage($"Processed component item {line} of {totalLines}"); } }
protected void FillEnumerationSheet(ISheet sheet, CODModel model, Database db) { BuildRow(sheet, HeadStyle, GetHeadValues()); sheet.CreateFreezePane(0, 1, 0, 1); long line = 0; var totalLines = model.Enumerations.Count; foreach (KeyValuePair <Guid, Item> itm in model.Enumerations) { line++; BuildRow(sheet, GreenStyle, GetTemplateValues(itm.Value.Name, "Enumeration")); EnumerateTemplateFields(sheet, db, itm.Value, ""); JobService.SetJobMessage($"Processed enumeration item {line} of {totalLines}"); } }
protected void FillPageSheet(ISheet sheet, CODModel model, Database db) { BuildRow(sheet, HeadStyle, GetPageValues()); sheet.CreateFreezePane(0, 1, 0, 1); long line = 0; var totalLines = model.Pages.Count; foreach (KeyValuePair <Guid, Item> itm in model.Pages) { line++; var baseField = (DelimitedField)itm.Value.Fields[FieldIDs.BaseTemplate]; var baseList = baseField?.Items.Where(c => !c.Equals("{1930BBEB-7805-471A-A3BE-4858AC7CF696}")) .Select(a => itm.Value.Database.GetItem(a)) .Where(b => b != null) .Select(c => c.Name); var baseValue = baseList.Any() ? string.Join(", ", baseList) : ""; var device = (DeviceItem)itm.Value.Database.GetItem(DeviceId); var textInfo = new CultureInfo("en-US", false).TextInfo; var standardValues = db.Templates[itm.Value.ID].StandardValues; var placeholders = PresentationService.GetPlaceholders(standardValues, DeviceId.ToString()); var placeholderKeys = new List <string>(); if (placeholders.Any()) { placeholderKeys = placeholders.Select(a => textInfo.ToTitleCase(a.Key.Replace("-", " "))).ToList(); } var rendValue = string.Join(", ", placeholderKeys); BuildRow(sheet, GreenStyle, GetPageTemplateValues(itm.Value.Name, "Page", baseValue, rendValue)); EnumerateTemplateFields(sheet, db, itm.Value, ""); JobService.SetJobMessage($"Processed page item {line} of {totalLines}"); } }
private void btnSave_Click(object sender, RoutedEventArgs e) { try { int serial = 0; if (!clientModel.IfEditDetails && !clientModel.IfViewDetails) { if (!ifAlreadySaved) { if (checkFields()) { //Check user logged if admin or receptionist if (user != null) { SerialNumberModel serialNum = checkSerialNumber(); CODModel codMod = checkCODNumber(datePicker.Text); int x = Convert.ToInt32(codMod.COD1); serial = Convert.ToInt32(serialNum.SerialNumber); int numSerial = 0; int numCod = 0; if (user.Type == 1) { numSerial = Convert.ToInt32(txtSerialNumber.Text); numCod = Convert.ToInt32(txtCOD.Text); if (numSerial > serial) { serial = numSerial; } } else { serial += 1; } //CHECK SERIAL NUMBER insertSerialNumber((serial), datePicker.Text); //CHECK COD if (x == 0) { insertCODNumber(numCod); } else { if (user.Type == 1) { if (numCod > x) { updateCODNumber(numCod, Convert.ToInt32(codMod.ID1)); } } else { numCod = x + 1; updateCODNumber(numCod, Convert.ToInt32(codMod.ID1)); } } //serial = serial + 1; //x = x + 1; if (insertClientRecord(serial.ToString(), numCod.ToString())) { updateClientView(); System.Windows.MessageBox.Show("Client Record Successfully Saved!"); this.Close(); } } else { //original code insertClientRecord((serial + 1), (x + 1)) if (insertClientRecord(txtSerialNumber.Text, txtCOD.Text)) { updateClientView(); System.Windows.MessageBox.Show("Client Record Successfully Saved!"); this.Close(); } } } } else { System.Windows.MessageBox.Show("Client already exist!"); this.Close(); } } else { if (checkFieldsForUpdating()) { if (user.Type == 1) { insertSerialNumber(Convert.ToInt32(txtSerialNumber.Text), txtDate.Text); } else { SerialNumberModel serialNum = checkSerialNumber(); serial = Convert.ToInt32(serialNum.SerialNumber); serial += 1; } if (updateClientRecord(Convert.ToInt32(clientModel.ID1))) { System.Windows.MessageBox.Show("Record updated successfully!"); conDB.writeLogFile("SAVE CLIENT RECORD: UPDATED RECORD ID: " + clientModel.ID1); updateClientView(); this.Close(); } } } } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } }
private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { cmbLoyaltycards.Visibility = Visibility.Hidden; txtDate.Visibility = Visibility.Hidden; fillComboBoxServiceMode(cmbServiceMode); timeInPicker.Text = DateTime.Now.ToShortTimeString(); timeOutPicker.IsEnabled = false; if (user.Type > 1) { txtSerialNumber.IsEnabled = false; txtCOD.IsEnabled = false; } else { txtSerialNumber.IsEnabled = true; txtCOD.IsEnabled = true; SerialNumberModel serialNum = checkSerialNumber(); txtSerialNumber.Text = (Convert.ToInt32(serialNum.SerialNumber) + 1).ToString(); CODModel codNum = checkCODNumber(DateTime.Now.ToShortDateString()); txtCOD.Text = (Convert.ToInt32(codNum.COD1) + 1).ToString(); } if (clientModel != null) { //fillComboBoxServiceMode(cmbServiceMode); fillLoyaltyCards(); if (clientModel.IfViewDetails) { datePicker.Visibility = Visibility.Hidden; lblDate.Visibility = Visibility.Visible; txtDate.Visibility = Visibility.Visible; btnDeleteProduct.IsEnabled = false; InitializeDetails(); cmbServiceMode.IsEnabled = false; txtSerialNumber.IsEnabled = false; txtCOD.IsEnabled = false; timeInPicker.IsEnabled = false; timeOutPicker.IsEnabled = false; if (string.IsNullOrEmpty(clientModel.TimeOut) || string.IsNullOrWhiteSpace(clientModel.TimeOut)) { timeOutPicker.Visibility = Visibility.Hidden; } else { timeOutPicker.Text = clientModel.TimeOut; } if (Convert.ToInt32(clientModel.LoyaltyID) > 0) { cmbLoyaltycards.Visibility = Visibility.Hidden; chkAvailLoyalty.Visibility = Visibility.Hidden; } txtFirstName.IsEnabled = false; txtLastName.IsEnabled = false; txtAddress.IsEnabled = false; txtPhoneNumber.IsEnabled = false; txtDate.IsEnabled = false; btnSave.IsEnabled = false; btnDelete.IsEnabled = false; btnAdd.IsEnabled = false; btnEdit.IsEnabled = false; btnAddProduct.IsEnabled = false; } else if (clientModel.IfEditDetails) { datePicker.Visibility = Visibility.Visible; lblDate.Visibility = Visibility.Visible; txtDate.Visibility = Visibility.Hidden; txtDate.Visibility = Visibility.Hidden; InitializeDetails(); txtFirstName.IsEnabled = true; txtLastName.IsEnabled = true; txtAddress.IsEnabled = true; txtPhoneNumber.IsEnabled = true; timeOutPicker.IsEnabled = true; if (Convert.ToInt32(clientModel.LoyaltyID) > 0) { cmbLoyaltycards.Visibility = Visibility.Hidden; chkAvailLoyalty.Visibility = Visibility.Hidden; } if (string.IsNullOrEmpty(clientModel.TimeOut) || string.IsNullOrWhiteSpace(clientModel.TimeOut)) { //Initialize Time Out picker //timeOutPicker.Format = DateTimePickerFormat.Custom; //timeOutPicker.CustomFormat = "hh:mm tt"; // Only use hours and minutes //timeOutPicker.ShowUpDown = true; } else { timeOutPicker.Text = clientModel.TimeOut; } btnSave.IsEnabled = true; btnDelete.IsEnabled = true; btnAdd.IsEnabled = true; } } }
protected void AddSourceEnumTemplates(CODModel model, Item fieldItem) { var source = fieldItem.Fields["Source"].Value; // query:fast://*[@@templateid='{8288D4EA-6576-486F-AAEC-4680329A2D5C}' and @@key!='__standard values'] if (source.ToLower().Contains("query")) { var queryItems = fieldItem.Database.SelectItems(source.Replace("query:", "")).ToList(); foreach (var i in queryItems) { if (!i.Paths.FullPath.StartsWith("/sitecore/content/")) { continue; } if (model.Enumerations.ContainsKey(i.TemplateID.Guid)) { continue; } model.Enumerations.Add(i.TemplateID.Guid, i); } } // databasename=legacymaster&datasource=/sitecore/system/Languages // Datasource=/sitecore/content/home/Products/&IncludeTemplatesForSelection=Product Category else if (source.ToLower().Contains("datasource")) { var querystring = HttpUtility.ParseQueryString(source); var dictionary = querystring.Keys.Cast <string>().ToDictionary(k => k.ToLower(), v => querystring[v]); if (dictionary.ContainsKey("includetemplatesforselection")) { var tempNames = dictionary["includetemplatesforselection"].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); foreach (var name in tempNames) { var temp = fieldItem.Database.Templates[name]; if (temp != null && !model.Enumerations.ContainsKey(temp.ID.Guid)) { model.Enumerations.Add(temp.ID.Guid, temp); } } } else if (dictionary.ContainsKey("datasource")) { var path = dictionary["datasource"]; if (!path.StartsWith("/sitecore/content/")) { return; } var folder = fieldItem.Database.GetItem(path); if (folder == null || !folder.HasChildren) { return; } var childrenIds = folder.GetChildren().Select(b => b.TemplateID.Guid).Distinct(); foreach (var c in childrenIds) { if (model.Enumerations.ContainsKey(c)) { continue; } var tempId = new ID(c); var tempItem = fieldItem.Database.GetItem(tempId); model.Enumerations.Add(c, tempItem); } } } // /sitecore/system/Settings/Rules/Segment Builder // {C0CAF698-8A42-4B66-9EAF-7D442B46F722} else { var folder = fieldItem.Database.GetItem(source); if (folder == null || !folder.Paths.FullPath.StartsWith("/sitecore/content/")) { return; } if (!folder.HasChildren) { return; } var childrenIds = folder.GetChildren().Select(b => b.TemplateID.Guid).Distinct(); foreach (var c in childrenIds) { if (model.Enumerations.ContainsKey(c)) { continue; } var tempId = new ID(c); var tempItem = fieldItem.Database.GetItem(tempId); model.Enumerations.Add(c, tempItem); } } }
public CODModel BuildModel(Database db) { var model = new CODModel(); var layoutItems = db.SelectItems("/sitecore/layout/Layouts//*[@@templatename='Layout']"); var line = 1; var totalLines = layoutItems.Length; foreach (Item i in layoutItems) { model.Layouts.Add(i.ID.Guid, i); JobService.SetJobMessage($"Processed layout item {line} of {totalLines}"); line++; } var renderingItems = db.SelectItems("/sitecore/layout/Renderings//*[@@templatename='View rendering' or @@templatename='Controller rendering']"); line = 1; totalLines = renderingItems.Length; foreach (Item i in renderingItems) { if (i.Name.ToLower().Contains("container")) { model.Containers.Add(i.ID.Guid, i); } else { model.Renderings.Add(i.ID.Guid, i); } JobService.SetJobMessage($"Processed rendering item {line} of {totalLines}"); line++; } var sublayoutItems = db.SelectItems("/sitecore/templates//*[@@templatename='Sublayout']"); line = 1; totalLines = sublayoutItems.Length; foreach (Item i in layoutItems) { if (i.Name.ToLower().Contains("container")) { model.Containers.Add(i.ID.Guid, i); } else { model.Sublayouts.Add(i.ID.Guid, i); } JobService.SetJobMessage($"Processed sublayout item {line} of {totalLines}"); line++; } var templateItems = db.SelectItems("/sitecore/templates//*[@@templatename='Template']"); line = 1; totalLines = templateItems.Length; foreach (Item itm in templateItems) { JobService.SetJobMessage($"Processed page/enum item {line} of {totalLines}"); line++; var temp = db.Templates[itm.ID]; if (temp.StandardValues != null && HasLayout(temp.StandardValues)) { model.Pages.Add(itm.ID.Guid, itm); continue; } var templateFields = itm.Axes.GetDescendants().Where(a => a.TemplateName.Equals("Template field") && EnumFieldTypes.Contains(a.Fields["Type"].Value) && !string.IsNullOrWhiteSpace(a.Fields["Source"].Value)); foreach (var f in templateFields) { AddSourceEnumTemplates(model, f); } } line = 1; foreach (Item itm in templateItems) { JobService.SetJobMessage($"Processed base template item {line} of {totalLines}"); line++; var isNotDatasource = !model.Datasources.ContainsKey(itm.ID.Guid); var isNotRenderingParam = !model.RenderingParameters.ContainsKey(itm.ID.Guid); var isNotEnumeration = !model.Enumerations.ContainsKey(itm.ID.Guid); var itemLinks = Globals.LinkDatabase.GetReferrers(itm); var hasLinks = itemLinks.Length > 0; var allLinksAreTemplates = itemLinks.All(a => a?.GetSourceItem()?.Paths.FullPath.StartsWith("/sitecore/templates") ?? false); if (isNotDatasource && isNotRenderingParam && isNotEnumeration && hasLinks && allLinksAreTemplates) { model.BaseTemplates.Add(itm.ID.Guid, itm); continue; } } return(model); }