private ValidationChecker VerifySaveFields(UserModel user) { StringBuilder sb = new StringBuilder(); bool hasError = false; if (!CommonHelper.IsAlphaNumericWithLengthRange(user.UserName, 3, 100)) { sb.Append("UserName is not valid. "); hasError = true; } if (!CommonHelper.IsAlphaAndSpacesOnlyWithLengthRange(user.FirstName, 2, 50)) { sb.Append("FirstName is not valid. "); hasError = true; } if (!CommonHelper.IsAlphaAndSpacesOnlyWithLengthRange(user.LastName, 2, 50)) { sb.Append("LastName is not valid. "); hasError = true; } if (!CommonHelper.IsValidEmail(user.PrimaryEmail)) { sb.Append("Invalid email format."); hasError = true; } ValidationChecker checker = new ValidationChecker(); checker.HasError = hasError; checker.Message = sb.ToString(); return(checker); }
public IHttpActionResult UpdateUser(UserModel user) { ValidationChecker validator = VerifySaveFields(user); if (validator.HasError) { var validationResponse = new Response <UserModel>() { DataItems = new List <UserModel>(), ResultCode = -1, ResultMessage = validator.Message }; return(new HttpResult <Response <UserModel> >(validationResponse, Request)); } Response <UserModel> data = adminRuleEngine.UpdateUser(user); if (data.ResultCode != 0) { if (data.ResultMessage.Contains("UNIQUE KEY")) { data.ResultMessage = "This username is not available"; } else { data.ResultMessage = "Error while updating the user"; } } return(new HttpResult <Response <UserModel> >(data, Request)); }
protected void ValidateDataInput(object source, ServerValidateEventArgs args) { if (ddlCamp.SelectedValue == "0") { args.IsValid = false; CusVal.ErrorMessage = "Please choose a camp."; return; } if (txtCampSession.Text.Trim() == "") { args.IsValid = false; CusVal.ErrorMessage = "Please enter a session name."; return; } if (!ValidationChecker.CheckSessionDate(txtStartDate.Text.Trim())) { args.IsValid = false; CusVal.ErrorMessage = "Error in start session date. The accepted format is mm/dd/yyyy."; return; } if (!ValidationChecker.CheckSessionDate(txtEndDate.Text.Trim())) { args.IsValid = false; CusVal.ErrorMessage = "Error in end session date. The accepted format is mm/dd/yyyy."; return; } DateTime startDate = DateTime.Parse(txtStartDate.Text.Trim()); DateTime endDate = DateTime.Parse(txtEndDate.Text.Trim()); int result = DateTime.Compare(startDate, endDate); if (result >= 0) { args.IsValid = false; CusVal.ErrorMessage = "Error in session dates. The start date must be prior to the end date."; return; } int currentYear = Convert.ToInt32(Session["CampYear"]); if (!ValidationChecker.CheckSessionRange(startDate, endDate, currentYear)) { args.IsValid = false; CusVal.ErrorMessage = String.Format("Error in session dates. The session range must be between 05/01/{0} and 09/30/{1}", currentYear, currentYear); return; } args.IsValid = true; }
public async Task <RegistrationResponse> RegistrationAsync(RegistrationRequest registration) { var user = await _appDbContext.Users.SingleOrDefaultAsync(p => p.Login == registration.Login); if (user != null) { return new RegistrationResponse() { ErrorMessage = "User with same login already exist" } } ; string salt = Guid.NewGuid().ToString(); var newUser = new UserDto() { Active = true, Login = registration.Login, Password = Hashing.GetPasswordHash(registration.Password, salt), Salt = salt, CreateDate = DateTime.Now }; var token = new TokenDto() { Code = Guid.NewGuid().ToString(), CreatedDate = DateTime.Now }; newUser.Tokens.Add(token); var isValid = ValidationChecker.Check <UserDto>(newUser, out var results); if (!isValid) { _logger.Log(LogLevel.Error, "Model is not valid because " + string.Join(", ", results.Select(s => s.ErrorMessage).ToArray())); return(new RegistrationResponse() { ErrorMessage = "Server error" }); } await _appDbContext.AddAsync <UserDto>(newUser); await _appDbContext.SaveChangesAsync(); return(new RegistrationResponse() { Token = token.Code }); }
public IHttpActionResult AddUser(UserModel user) { ValidationChecker validator = VerifySaveFields(user); if (validator.HasError) { var validationResponse = new Response <UserModel>() { DataItems = new List <UserModel>(), ResultCode = -1, ResultMessage = validator.Message }; return(new HttpResult <Response <UserModel> >(validationResponse, Request)); } //We need to generate a random encrypted password when creating a new user user.Password = CommonHelper.GenerateRandomString(10); Response <UserModel> data = adminRuleEngine.AddUser(user); if (data.ResultCode != 0) { data.ResultMessage = data.ResultMessage.Contains("UNIQUE KEY") ? "This username is not available" : "Error while adding the user"; } else { //send the new user an email try { adminRuleEngine.SendNewUserEmail(user); } catch (Exception exc) { _logger.Error(exc); data.ResultCode = 0; data.ResultMessage = "User added successfully. Error while sending the email"; data.AdditionalResult = exc.Message; } } return(new HttpResult <Response <UserModel> >(data, Request)); }
private ValidationChecker VerifySaveFields(UserModel user) { StringBuilder sb = new StringBuilder(); bool hasError = false; if (!CommonHelper.IsADUserNameValid(user.UserName)) { sb.Append("UserName is not valid. "); hasError = true; } if (!CommonHelper.IsValidEmail(user.PrimaryEmail)) { sb.Append("Invalid email format."); hasError = true; } ValidationChecker checker = new ValidationChecker { HasError = hasError, Message = sb.ToString() }; return(checker); }
public ActionResult BeatPlanAddtion(HttpPostedFileBase file) { string path = null; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; int c1 = 0; int c2 = 0; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> fileHeadersWarning = new List <string>(); List <string> fileHeadersError = new List <string>(); fileHeadersWarning.Add("ESM".ToLower()); fileHeadersWarning.Add("FinalBeatName".ToLower()); fileHeadersWarning.Add("BeatDay".ToLower()); fileHeadersWarning.Add("BeatPlanStartDate".ToLower()); fileHeadersError.Add("ESM".ToLower()); fileHeadersError.Add("FinalBeatName".ToLower()); var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column; i <= sheet.Dimension.End.Column; i++) { var value = sheet.Cells[1, i].Value; if (value != null) { string newValue = value.ToString().Trim().Replace(" ", "").ToLower(); if (newValue == "ESM".ToLower()) { headerError.Add(newValue); } if (newValue == "FinalBeatName".ToLower()) { headerError.Add(newValue); } } } var difference = fileHeadersError.Except(headerError); if (difference.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <string> headerCheck = new List <string>(); for (int i = 1; i <= sheet.Dimension.End.Column; i++) { if (sheet.Cells[1, i].Value != null) { headerCheck.Add(sheet.Cells[1, i].Value.ToString().Replace(" ", "").ToLower()); } } var difference2 = fileHeadersWarning.Except(headerCheck); if (difference2.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference2); warningTemp.Add(warningTemplates); } List <FileHeadersProductAddition> list = new List <FileHeadersProductAddition>(); List <FileHeadersBeatHierarchy> list2 = new List <FileHeadersBeatHierarchy>(); List <FileHeadersLocationAddtion> list3 = new List <FileHeadersLocationAddtion>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listErrrorProductAddition(sheet); list = listerror.listProductAddition; errorTemp.AddRange(listerror.error); errorTemp = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); errorTemp.AddRange(mapChecker.Checker(sheet, list2, list3, list, list4)); if (errorTemp.Count() != 0) { errorTemp = errorTemp.Take(50).ToList(); allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); // allErrors.WarnHeaders = null; return(View(allErrors)); } MemoryStream memory = new MemoryStream(); StreamWriter streamwiter = new StreamWriter(memory); var newCsv = new CsvWriter(streamwiter); newCsv.WriteHeader <FileHeadersBeatPlanAddition>(); foreach (var item in list4) { FileHeadersBeatPlanAddition temp = new FileHeadersBeatPlanAddition(); temp.BeatDay = item.BeatDay; temp.BeatPeriod = item.BeatPeriod; temp.BeatPlanStartDate = item.BeatPlanStartDate; temp.ESM = item.ESM; temp.FinalBeatName = item.FinalBeatName; newCsv.WriteRecord <FileHeadersBeatPlanAddition>(temp); } streamwiter.Flush(); return(File(memory.ToArray(), "text/csv", "data.csv")); } } catch (Exception ex) { var some = c1; var some2 = c2; var excep = ex; return(View("Error")); } return(null); }
public ActionResult Upload_LocationAddition(HttpPostedFileBase file) { string path = null; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> WarningfileHeaders = new List <string>(); List <string> ErrorfileHeaders = new List <string>(); WarningfileHeaders.Add("ShopName".ToLower()); WarningfileHeaders.Add("Address".ToLower()); WarningfileHeaders.Add("Email".ToLower()); WarningfileHeaders.Add("Tin".ToLower()); WarningfileHeaders.Add("Pin".ToLower()); WarningfileHeaders.Add("MarketName".ToLower()); WarningfileHeaders.Add("City".ToLower()); WarningfileHeaders.Add("State".ToLower()); WarningfileHeaders.Add("Country".ToLower()); WarningfileHeaders.Add("ShopType".ToLower()); WarningfileHeaders.Add("Segmentation".ToLower()); WarningfileHeaders.Add("OwnersName".ToLower()); WarningfileHeaders.Add("OwnersContactNumber".ToLower()); WarningfileHeaders.Add("FinalBeatName".ToLower()); WarningfileHeaders.Add("ShopErpId".ToLower()); WarningfileHeaders.Add("ISFocused".ToLower()); WarningfileHeaders.Add("ConsumerType".ToLower()); WarningfileHeaders.Add("OutletPotential".ToLower()); WarningfileHeaders.Add("CodeId".ToLower()); ErrorfileHeaders.Add("FinalBeatName".ToLower()); ErrorfileHeaders.Add("ShopName".ToLower()); ErrorfileHeaders.Add("Market".ToLower()); ErrorfileHeaders.Add("City".ToLower()); ErrorfileHeaders.Add("State".ToLower()); try { var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var header = sheet.Cells[1, 1, 1, sheet.Dimension.End.Column]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerCheck = new List <string>(); for (int i = 0; i < sheet.Dimension.End.Column; i++) { if (((object[, ])fileField.Value)[0, i] != null) { headerCheck.Add(((object[, ])fileField.Value)[0, i].ToString().Replace(" ", "").ToLower()); } } var difference = WarningfileHeaders.Except(headerCheck); if (difference.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference); warningTemp.Add(warningTemplates); } List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column - 1; i < sheet.Dimension.End.Column; i++) { var value = ((object[, ])fileField.Value)[0, i]; if (value != null) { if (value.ToString().Trim().Replace(" ", "").ToLower() == "FinalBeatName".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "ShopName".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "Market".ToLower()) { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "City") { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } if (value.ToString().Trim().Replace(" ", "").ToLower() == "State") { headerError.Add(value.ToString().Trim().Replace(" ", "").ToLower()); } } } var difference1 = ErrorfileHeaders.Except(headerError); if (difference1.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference1); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <FileHeadersLocationAddtion> list = new List <FileHeadersLocationAddtion>(); List <FileHeadersProductAddition> list3 = new List <FileHeadersProductAddition>(); List <FileHeadersBeatHierarchy> list2 = new List <FileHeadersBeatHierarchy>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listErrorLocationAddition(sheet); errorTemp.AddRange(listerror.error); list = listerror.listLocation; // warningTemp = mapChecker.WarningChecks(sheet, warningTemp);//Warnings errorTemp.AddRange(mapChecker.Checker(sheet, list2, list, list3, list4));//Mapping checking if (errorTemp != null) { allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); // allErrors.ShowHeader = null; return(View(allErrors)); } Session["LocationAdditionObjectList"] = list; return(RedirectToAction("CompanySelect")); } catch { return(View("Error")); } } } catch { return(View("Error")); } return(null); }
public ActionResult Upload(HttpPostedFileBase file) { string path = null; int count = 0; List <ErrorTemplates> errorTemp = new List <ErrorTemplates>(); List <WarningTemplates> warningTemp = new List <WarningTemplates>(); AllErrors allErrors = new AllErrors(); allErrors.Error = null; allErrors.ShowHeader = null; allErrors.WarnHeaders = null; allErrors.Warning = null; try { if (file.ContentLength > 0) { string filename = Path.GetFileName(file.FileName); path = Server.MapPath("~/Seed Data/" + filename); file.SaveAs(path); ValidationChecker mapChecker = new ValidationChecker(); List <string> WarningfileHeaders = new List <string>(); List <string> ErrorfileHeaders = new List <string>(); WarningfileHeaders.Add("NSM".ToLower()); //---------------------cell1 WarningfileHeaders.Add("NSMZone".ToLower()); WarningfileHeaders.Add("NSMEmailId".ToLower()); //---------------------cell3 WarningfileHeaders.Add("NSMSecondaryEmailId".ToLower()); //---------------------cell4 WarningfileHeaders.Add("ZSM".ToLower()); //---------------------cell5 WarningfileHeaders.Add("ZSMEmailId".ToLower()); //---------------------cell6 WarningfileHeaders.Add("ZSMZone".ToLower()); //---------------------cell7 WarningfileHeaders.Add("ZSMSecondaryEmailId".ToLower()); //---------------------cell8 WarningfileHeaders.Add("RSM".ToLower()); //---------------------cell9 WarningfileHeaders.Add("RSMEmailId".ToLower()); //---------------------cell10 WarningfileHeaders.Add("RSMSecondaryEmailId".ToLower()); //---------------------cell11 WarningfileHeaders.Add("ASM".ToLower()); //---------------------cell12 WarningfileHeaders.Add("ASMEmailId".ToLower()); //---------------------cell13 WarningfileHeaders.Add("ASMZone".ToLower()); //---------------------cell14 WarningfileHeaders.Add("ASMSecondaryEmailId".ToLower()); //---------------------cell15 WarningfileHeaders.Add("ESM".ToLower()); //---------------------cell16 WarningfileHeaders.Add("ESMEmailId".ToLower()); //---------------------cell17 WarningfileHeaders.Add("ESMZone".ToLower()); //---------------------cell18 WarningfileHeaders.Add("ESMSecondaryEmailId".ToLower()); //---------------------cell19 WarningfileHeaders.Add("ESMContactNumber".ToLower()); //---------------------cell20 WarningfileHeaders.Add("ESMHQ".ToLower()); WarningfileHeaders.Add("ESMErpId".ToLower()); //---------------------cell21 WarningfileHeaders.Add("FinalBeatName".ToLower()); //---------------------cell22 WarningfileHeaders.Add("BeatErpId".ToLower()); //---------------------cell23 WarningfileHeaders.Add("BeatDistrict".ToLower()); //---------------------cell24 WarningfileHeaders.Add("BeatState".ToLower()); //---------------------cell25 WarningfileHeaders.Add("BeatZone".ToLower()); //---------------------cell26 WarningfileHeaders.Add("DistributorName".ToLower()); //---------------------cell27 WarningfileHeaders.Add("DistributorLocation".ToLower()); //---------------------cell28 WarningfileHeaders.Add("DistributorErpId".ToLower()); //---------------------cell29 WarningfileHeaders.Add("DistributorEmailId".ToLower()); //---------------------cell20 ErrorfileHeaders.Add("FinalBeatName".ToLower()); ErrorfileHeaders.Add("BeatState".ToLower()); ErrorfileHeaders.Add("BeatDistrict".ToLower()); try { var xfile = new FileInfo(path); ExcelPackage package = new ExcelPackage(xfile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; var header = sheet.Cells[1, 1, 1, sheet.Dimension.End.Column]; var fileField = sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.End.Column]; List <string> headerError = new List <string>(); for (int i = sheet.Dimension.Start.Column; i <= sheet.Dimension.End.Column; i++) { var value = sheet.Cells[1, i].Value; if (value != null) { string newValue = value.ToString().Trim().Replace(" ", "").ToLower(); if (newValue == "FinalBeatName".ToLower()) { headerError.Add(newValue); } if (newValue == "BeatState".ToLower()) { headerError.Add(newValue); } if (newValue == "BeatDistrict".ToLower()) { headerError.Add(newValue); } } } var difference1 = ErrorfileHeaders.Except(headerError); if (difference1.Any()) { ErrorTemplates error = new ErrorTemplates(); error.ErrorType = "Missing Header file"; error.ErrorComments = "Cannot go further Ensure these headers must be present" + string.Join(",", difference1); errorTemp.Add(error); allErrors.Error = errorTemp; return(View(allErrors)); } List <string> headerCheck = new List <string>(); for (int i = 0; i < sheet.Dimension.End.Column; i++) { if (((object[, ])fileField.Value)[0, i] != null) { headerCheck.Add(((object[, ])fileField.Value)[0, i].ToString().Replace(" ", "").ToLower()); } } var difference = WarningfileHeaders.Except(headerCheck); if (difference.Any()) { WarningTemplates warningTemplates = new WarningTemplates(); warningTemplates.Comments = "These Headers are missing do you wish to continue"; warningTemplates.Field = string.Join(",", difference); warningTemp.Add(warningTemplates); } warningTemp.AddRange(mapChecker.WarningChecks(sheet, warningTemp));//Warnings //Excel to object List <FileHeadersBeatHierarchy> list = new List <FileHeadersBeatHierarchy>(); List <FileHeadersProductAddition> list2 = new List <FileHeadersProductAddition>(); List <FileHeadersLocationAddtion> list3 = new List <FileHeadersLocationAddtion>(); List <FileHeadersBeatPlanAddition> list4 = new List <FileHeadersBeatPlanAddition>(); ExcelToObject.ExcelToObject excelToObject = new ExcelToObject.ExcelToObject(); ListandError listerror = new ListandError(); listerror = excelToObject.listWithErrorBeatHiearachy(sheet); list = listerror.listBeatHierarchy; errorTemp.AddRange(listerror.error); errorTemp.AddRange(mapChecker.Checker(sheet, list, list3, list2, list4)); if (errorTemp != null) { allErrors.Error = errorTemp.GroupBy(a => new { a.Row, a.Field_1, a.Field_2, a.ErrorType, a.ErrorComments, a.IncorrectHeaderList }, (key, g) => g.FirstOrDefault()).ToList(); allErrors.Warning = warningTemp.OrderBy(x => x.Row).GroupBy(a => new { a.Row, a.Field, a.Comments }, (key, g) => g.FirstOrDefault()).ToList(); return(View(allErrors)); } //write csv Session["BeatHierarchy"] = list; return(RedirectToAction("CompanySelect")); } catch (Exception ex) { var c = count; var error = ex; return(View("Error")); } } } catch (Exception ex) { var error = ex; return(View("Error")); } return(null); }