private void btnCancel_Click(object sender, EventArgs e) { _personnel = null; _secondaryData = null; _departmentData = null; this.Close(); }
private void DataBind() { var getPassportExpiration = ""; var getVisaExpiration = ""; if (dtpPassportExp.Enabled) { getPassportExpiration = dtpPassportExp.Value.ToString("MM/yyyy"); } if (dtpVisaExp.Enabled) { getVisaExpiration = dtpVisaExp.Value.ToString("MM/yyyy"); } var secData = new SecondaryData() { HSBCAccount = txtHSBC.Text, PassportNo = txtPassport.Text, USVisaNo = txtUSVISA.Text, BirthState = txtBirthState.Text, InfonavitNo = txtInfonavit.Text, PassportExpiration = getPassportExpiration, USVisaExpiration = getVisaExpiration, CurrentAddress = txtCurrentAddress.Text, EmerContactRelationship = cmbEmerContactRelation.SelectedItem.ToString(), EmerContactName = txtEmerName.Text, EmerContactPhone = txtEmerNumb.Text, IMSSNo = txtIMSS.Text }; _secondaryData = secData; }
public Form3(Form2 f2, Personnel getPersonnel) { InitializeComponent(); f2.Close(); _personnel = new Personnel(); _secondaryData = new SecondaryData(); _personnel = getPersonnel; DTP(); }
public Form4(Form3 f3, Personnel getPersonnel, SecondaryData getSecondaryData) { InitializeComponent(); f3.Close(); _personnel = new Personnel(); _secondaryData = new SecondaryData(); _departmentData = new DepartmentData(); _personnel = getPersonnel; _secondaryData = getSecondaryData; }
private void InputAllIntoBatch(Personnel personnel, SecondaryData secondaryData) { var _batch = new Batch { #region Batch PersonName = personnel.PersonName, BirthDate = personnel.BirthDate, EmployeeNo = personnel.EmployeeNo, EducationLevel = personnel.EducationLevel, CarreerName = personnel.CarreerName, PersonalMail = personnel.PersonalMail, CURP = personnel.CURP, INE = personnel.INE, Gender = personnel.Gender, Bloodtype = personnel.Bloodtype, MaritalStatus = personnel.MaritalStatus, RFC = personnel.RFC, PhoneNumber = personnel.PhoneNumber, UserImageRoute = personnel.UserImageRoute, HSBCAccount = secondaryData.HSBCAccount, InfonavitNo = secondaryData.InfonavitNo, PassportNo = secondaryData.PassportNo, PassportExpiration = secondaryData.PassportExpiration, USVisaNo = secondaryData.USVisaNo, USVisaExpiration = secondaryData.USVisaExpiration, BirthState = secondaryData.BirthState, CurrentAddress = secondaryData.CurrentAddress, EmerContactRelationship = secondaryData.EmerContactRelationship, EmerContactName = secondaryData.EmerContactName, EmerContactPhone = secondaryData.EmerContactPhone, IMSSNo = secondaryData.IMSSNo, Department = txtDepartment.Text, Area = txtArea.Text, Position = txtPosition.Text, PaymentType = txtPayment.Text, MailAccount = txtCompanyMail.Text, BPMAccount = txtBPMAcc.Text, ERPAccount = txtERPAcc.Text, Transportation = cmbTransportation.SelectedItem.ToString(), PickupColony = txtPickupColony.Text, PickupRoute = txtRoute.Text, #endregion Batch }; Form1.batch = _batch; }
private void Enrich(SecondaryData value) { using (log.Activity(m => m($"Enriching PageInfo"))) { var pageInfoList = null as List <PageInfo>; using (log.Activity(m => m($"Filtering un-enriched {nameof(PageInfo)}"))) { pageInfoList = value.PageInfoList.PageInfo .Where(item => (!CanMatch(item)) && (CanEnrich(item))) .ToList(); log.Trace(m => m($"Ignored {nameof(PageInfo)} [{string.Join(",", value.PageInfoList.PageInfo.Except(pageInfoList).Select(item => item.MedMinedfacilityId))}]")); } if (!pageInfoList.Any()) { log.Trace(m => m($"No {nameof(PageInfo)} with missing required fields are found: exit")); return; } var ordersNumberPerPageInfo = null as Dictionary <Guid, (List <string> PlacerOrderNumbers, List <IdInfo> IdInfos)>; using (log.Activity(m => m($"Getting {nameof(PageInfo)}.{nameof(PageInfo.Id)} to {nameof(PageInfo.EnrichedPlacerOrderNumbers)}[] association"))) { ordersNumberPerPageInfo = GetEnrichmentFromService(pageInfoList); } using (log.Activity(m => m($"Enriching {nameof(PageInfo)}"))) { foreach (var pageInfo in pageInfoList) { using (log.Activity(m => m($"Enriching {nameof(PageInfo)}[{pageInfo.Id}]"))) { if (ordersNumberPerPageInfo.TryGetValue(pageInfo.Id, out (List <string> PlacerOrderNumbers, List <IdInfo> IdInfos)missingFields)) { if (missingFields.PlacerOrderNumbers.Any()) { pageInfo.EnrichedPlacerOrderNumbers = missingFields.PlacerOrderNumbers; log.Trace(m => m($"Enriched {nameof(PageInfo)}[{pageInfo.Id}] with Order Numbers [{string.Join(",", pageInfo.EnrichedPlacerOrderNumbers)}]")); } if (missingFields.IdInfos.Any()) { pageInfo.EnrichedIdInfos = missingFields.IdInfos; log.Trace(m => m($"Enriched {nameof(PageInfo)}[{pageInfo.Id}] with IdInfos [{string.Join(",", pageInfo.EnrichedIdInfos.Select(item => $"{item.IdKind}:{item.Value}"))}]")); } }
public Tuple <bool, string> CheckEmergencyPhoneNumber(SecondaryData secondaryData) { string message = ""; bool isValid = true; if (secondaryData.EmerContactPhone.Length == 0) { message = "Phone number field cannot be empty"; isValid = false; } else if (!ValidatePhoneNumber(secondaryData.EmerContactPhone)) { message = "This phone number is invalid (does it contain letters?)"; isValid = false; } else if (secondaryData.EmerContactPhone.Length > 10) { message = "Phone number length exceeds 10 numbers"; isValid = false; } return(Tuple.Create(isValid, message)); }
public Tuple <bool, string> CheckEmerContactName(SecondaryData secondaryData) { string message = ""; bool isValid = true; if (secondaryData.EmerContactName.Length == 0) { message = "Please type the person's name"; isValid = false; } else if (!ValidateName(secondaryData.EmerContactName)) { message = "This person's name is invalid (does it containg numbers?)."; isValid = false; } else if (secondaryData.EmerContactName.Length > 255) { message = "This person's name is too long. \nI don't even know you managed to trigger this."; isValid = false; } return(Tuple.Create(isValid, message)); }
public IHttpActionResult Post([FromBody] SecondaryData model) { using (log.Activity(m => m($"Executing Post by {Thread.CurrentPrincipal?.Identity?.Name}"))) { using (log.Activity(m => m($"Validating Input"))) { if (!ModelState.IsValid) { log.Trace(m => m("Validation failed")); return(BadRequest(ModelState)); } } using (log.Activity(m => m($"Executing Service Call"))) { try { service.Process(model); } catch (UnauthorizedAccessException e) { log.Warn(m => m("Authorization failed", e)); return(StatusCode(HttpStatusCode.Forbidden)); } catch (Exception e) { log.Error(m => m("Process failed", e)); return(InternalServerError(e)); } } var value = null as object; using (log.Activity(m => m($"Formatting Result"))) { try { value = new { PageInfoList = new { PageInfo = model.PageInfoList.PageInfo //Filter elements without alerts .Where(item => item.MedMinedAlert != null) .Select(item => new { item.Id, item.MedMinedAlert }).ToArray() } }; } catch (Exception e) { log.Error(m => m("Formatting failed", e)); return(InternalServerError(e)); } } log.Info(m => m($"Executing Post by {Thread.CurrentPrincipal?.Identity?.Name} succeeded")); return(Ok(value)); } }
private void Cache(SecondaryData value) { using (log.Activity(m => m($"Caching Alerts"))) { var facilityKeys = null as int[]; using (log.Activity(m => m($"Lookup for {nameof(PageInfo)}.{nameof(PageInfo.MedMinedfacilityId)}"))) { facilityKeys = value .PageInfoList .PageInfo .Select(item => item.MedMinedfacilityId) .Distinct() .Select(item => Int32.Parse(item)) .Where(item => GetAlertsFromCache(item) == null) .ToArray(); log.Trace(m => m($"Found facilityKeys:[{string.Join(",", facilityKeys)}]")); } if (!facilityKeys.Any()) { log.Trace(m => m($"No uncached {nameof(facilityKeys)} found: exit")); return; } var alerts = null as List <Alert>; using (log.Activity(m => m($"Loading {nameof(Alert)} from service"))) { alerts = GetAlertsFromService(facilityKeys); log.Trace(m => m($"Found {nameof(Alert)}:[{string.Join(",", alerts.Select(item => item.alert_id))}]")); } if (!alerts.Any()) { log.Trace(m => m($"No {nameof(Alert)} found: exit")); return; } var cacheItems = null as Dictionary <int, List <Alert> >; using (log.Activity(m => m($"Prepare {nameof(cacheItems)}"))) { //prepareForCache cacheItems = alerts .GroupBy(item => item.facility_id) .ToDictionary(item => item.Key, item => item.ToList()); //TODO: KB: Shold we trace results? log.Trace(m => m($"Cache entires are prepared")); } if (!cacheItems.Keys.Any()) { log.Trace(m => m($"No {nameof(cacheItems)} found: exit")); return; } using (log.Activity(m => m($"Cache {nameof(cacheItems)}"))) { foreach (var item in cacheItems) { SetAlertsToCache(item.Key, item.Value); } } } }
public void Process(SecondaryData value) { value = value ?? throw new ArgumentNullException(nameof(value)); using (log.Activity(m => m($"Process {nameof(SecondaryData)} by {Thread.CurrentPrincipal?.Identity?.Name}"))) { using (log.Activity(m => m("Preparing PageInfo and Cache"))) { try { var refreshCacheTask = Task.Run(() => Cache(value)); var enrichPageInfoTask = Task.Run(() => Enrich(value)); Task.WaitAll(refreshCacheTask, enrichPageInfoTask); } catch (Exception e) { log.Error($"Preparing PageInfo and Cache Error", e); throw; } } var pageInfoList = null as List <PageInfo>; using (log.Activity(m => m($"Filtering {nameof(PageInfo)} that cannot be matched"))) { pageInfoList = value.PageInfoList.PageInfo .Where(item => CanMatch(item)) .ToList(); log.Trace(m => m($"Ignored {nameof(PageInfo)} [{string.Join(",", value.PageInfoList.PageInfo.Except(pageInfoList).Select(item => item.MedMinedfacilityId))}]")); } var alertList = null as List <Alert>; using (log.Activity(m => m($"Get {nameof(Alert)} from Cache"))) { alertList = pageInfoList .Select(item => int.Parse(item.MedMinedfacilityId)) .Distinct() .SelectMany(item => GetAlertsFromCache(item) ?? Enumerable.Empty <Alert>()) .ToList(); log.Trace(m => m($"Found {nameof(Alert)} for {nameof(Alert.facility_id)} [{string.Join(",", alertList.Select(item => item.facility_id).Distinct())}]")); } using (log.Activity(m => m($"Matching {nameof(PageInfo)} to {nameof(Alert)}"))) { var pageInfoAlerts = pageInfoList.Join(alertList, (pageInfo) => pageInfo.MedMinedfacilityId, (alert) => alert.facility_id.ToString(), (pageInfo, alert) => Tuple.Create(pageInfo, alert)); foreach (var pageInfoAlert in pageInfoAlerts) { var pageInfo = pageInfoAlert.Item1; var alert = pageInfoAlert.Item2; var isMatched = default(bool); using (log.Activity(m => m($"Matching {nameof(PageInfo)}[{pageInfo.Id}] to {nameof(Alert)}[{alert.alert_id}]"))) { isMatched = Match(pageInfo, alert); log.Trace(m => m($"Match" + (isMatched ? " " : " not ") + $"found for {nameof(PageInfo)}[{pageInfo.Id}] to {nameof(Alert)}[{alert.alert_id}]")); } if (isMatched) { using (log.Activity(m => m($"Adding {nameof(Alert)}[{alert.alert_id}] to {nameof(PageInfo)}[{pageInfo.Id}].{nameof(PageInfo.MedMinedAlert)}"))) { Fill(pageInfo, alert); log.Trace(m => m($"Added {nameof(Alert)}[{alert.alert_id}] to {nameof(PageInfo)}[{pageInfo.Id}].{nameof(PageInfo.MedMinedAlert)}")); } } } } log.Info(m => m($"Processed {nameof(SecondaryData)} by {Thread.CurrentPrincipal?.Identity?.Name}")); } }