public async Task <ActionResult <InvoicesDTO> > addInvoice(int inUserID, string discountCode = null) { Users user = await db.Users.FindAsync(inUserID); if (user == null) { return(new JsonResult(new { Status = "error", Message = "User Not Found" })); } Invoices invoices = new Invoices { User = user, UserID = user.Id, tax = 0, total = 0, isFreeShipping = false, created_at = DateTime.Now, updated_at = DateTime.Now }; if (discountCode != null) { DiscountCodes discCodes = await db.DiscountCodes.Where(ds => ds.code.Equals(discountCode.ToUpper())).FirstOrDefaultAsync(); if (discCodes != null) { invoices.discount_code = discCodes.code; invoices.discount_percentage = discCodes.percentage; } } db.Invoices.Add(invoices); try { await db.SaveChangesAsync(); } catch (Exception e) { return(new JsonResult(new { Status = "error", Message = "Error creating invoice" })); } InvoicesDTO invcDTO = new InvoicesDTO { Id = invoices.Id, total = invoices.total, tax = invoices.tax, discount_code = invoices.discount_code, discount_percentage = invoices.discount_percentage, isFreeShipping = invoices.isFreeShipping, UserID = invoices.UserID, created_at = invoices.created_at, updated_at = invoices.created_at, invoiceItems = null }; return(new JsonResult(new { Status = "success", Message = invcDTO })); }
public async Task UpdateDiscountCode(DiscountCodes discountCodes) { try { _mailDatabaseContext.DiscountCodes.Update(discountCodes); await _mailDatabaseContext.SaveChangesAsync(); } catch { } finally { _mailDatabaseContext.Entry(discountCodes).State = EntityState.Detached; } }
public void ApplyDiscount(DiscountCodes discountcode) { switch (discountcode) { case DiscountCodes.DISCOUNT20: Discount = 0.2M; break; case DiscountCodes.DISCOUNT50: Discount = 0.5M; break; case DiscountCodes.ALLFREE: Discount = 1; break; default: Discount = 0; break; } }
public override void Validate(Validations validationType = Validations.Weak) { base.Validate(validationType); // All properties are optional, so we only validated when they're filled. if (LineItems != null) { LineItems.ToList().ForEach(item => item.Validate(validationType)); } if (ShippingAddress != null) { ShippingLines.ToList().ForEach(item => item.Validate(validationType)); } if (PaymentDetails != null && PaymentDetails.Length > 0) { PaymentDetails.ToList().ForEach(item => item.Validate(validationType)); } if (NoChargeAmount != null) { NoChargeAmount.Validate(validationType); } if (validationType == Validations.Weak) { if (BillingAddress != null) { BillingAddress.Validate(validationType); } else if (ShippingAddress != null) { ShippingAddress.Validate(validationType); } } else { if (BillingAddress != null) { BillingAddress.Validate(validationType); } if (ShippingAddress != null) { ShippingAddress.Validate(validationType); } } if (Customer != null) { Customer.Validate(validationType); } if (!string.IsNullOrEmpty(Email)) { InputValidators.ValidateEmail(Email); } if (!string.IsNullOrEmpty(CustomerBrowserIp)) { InputValidators.ValidateIp(CustomerBrowserIp); } if (!string.IsNullOrEmpty(Currency)) { InputValidators.ValidateCurrency(Currency); } if (TotalPrice.HasValue) { InputValidators.ValidateZeroOrPositiveValue(TotalPrice.Value, "Total Price"); } if (CreatedAt != null) { InputValidators.ValidateDateNotDefault(CreatedAt.Value, "Created At"); } if (UpdatedAt != null) { InputValidators.ValidateDateNotDefault(UpdatedAt.Value, "Updated At"); } if (DiscountCodes != null && DiscountCodes.Length > 0) { DiscountCodes.ToList().ForEach(item => item.Validate(validationType)); } if (TotalPriceUsd.HasValue) { InputValidators.ValidateZeroOrPositiveValue(TotalPriceUsd.Value, "Total Price USD"); } if (TotalDiscounts.HasValue) { InputValidators.ValidateZeroOrPositiveValue(TotalDiscounts.Value, "Total Discounts"); } if (ClosedAt.HasValue) { InputValidators.ValidateDateNotDefault(ClosedAt.Value, "Closed At"); } if (Decision != null) { Decision.Validate(validationType); } }
/// <summary> /// Validates the objects fields content /// </summary> /// <param name="isWeak">Should use weak validations or strong</param> /// <exception cref="OrderFieldBadFormatException">throws an exception if one of the parameters doesn't match the expected format</exception> public override void Validate(Validations validationType = Validations.Weak) { base.Validate(validationType); InputValidators.ValidateObjectNotNull(LineItems, "Line Items"); LineItems.ToList().ForEach(item => item.Validate(validationType)); InputValidators.ValidateObjectNotNull(ShippingLines, "Shipping Lines"); ShippingLines.ToList().ForEach(item => item.Validate(validationType)); if (PaymentDetails == null && NoChargeAmount == null) { throw new Exceptions.OrderFieldBadFormatException("Both PaymentDetails and NoChargeDetails are missing - at least one should be specified"); } if (PaymentDetails != null) { PaymentDetails.Validate(validationType); } else { NoChargeAmount.Validate(validationType); } if (validationType == Validations.Weak) { if (BillingAddress == null && ShippingAddress == null) { throw new Exceptions.OrderFieldBadFormatException("Both shipping and billing addresses are missing - at least one should be specified"); } if (BillingAddress != null) { BillingAddress.Validate(validationType); } else { ShippingAddress.Validate(validationType); } } else { InputValidators.ValidateObjectNotNull(BillingAddress, "Billing Address"); BillingAddress.Validate(validationType); InputValidators.ValidateObjectNotNull(ShippingAddress, "Shipping Address"); ShippingAddress.Validate(validationType); } InputValidators.ValidateObjectNotNull(Customer, "Customer"); Customer.Validate(validationType); InputValidators.ValidateEmail(Email); InputValidators.ValidateIp(CustomerBrowserIp); InputValidators.ValidateCurrency(Currency); InputValidators.ValidateZeroOrPositiveValue(TotalPrice.Value, "Total Price"); InputValidators.ValidateValuedString(Gateway, "Gateway"); InputValidators.ValidateDateNotDefault(CreatedAt.Value, "Created At"); InputValidators.ValidateDateNotDefault(UpdatedAt.Value, "Updated At"); // optional fields validations if (DiscountCodes != null && DiscountCodes.Length > 0) { DiscountCodes.ToList().ForEach(item => item.Validate(validationType)); } if (TotalPriceUsd.HasValue) { InputValidators.ValidateZeroOrPositiveValue(TotalPriceUsd.Value, "Total Price USD"); } if (TotalDiscounts.HasValue) { InputValidators.ValidateZeroOrPositiveValue(TotalDiscounts.Value, "Total Discounts"); } if (ClosedAt.HasValue) { InputValidators.ValidateDateNotDefault(ClosedAt.Value, "Closed At"); } }
public void InitializeBase(IWebDriver objDriver) { //LoginPage = new MdnHomePage(driver); //LoginPage1 = new MdnLoginPage1(driver); //HomePage = new MdnHomePage(driver); //CommonPage = new MdnCommonPage(driver); #region initialize old driver = objDriver; CheckOutobj = new CheckOut(driver); takeScreenhsot = new ScreenShot(driver); approvalrequest = new Approvalrequestobject(driver); instructors = new Instructor(driver); approvalrequest = new Approvalrequestobject(driver); DomainConsoleobj = new DomainConsole(driver); ManageGradebookobj = new ManageGradebook(); Instructorsobj = new Instructorspof(); MyResponsibilitiesobj = new My_Responsibilities(driver); manageuserobj = new ManageUsers(driver); objTrainingHome = new TrainingHomes(driver); objCurriculum = new CreateCurriculum(driver); classroomcourse = new ClassroomCourse(driver); ContentSearchobj = new ContentSearch(driver); objCreate = new Create(driver); detailspage = new Details(driver); TrainingHomeobj = new TrainingHomes(driver); AdminstrationConsoleobj = new AdminstrationConsole(driver); Testsobj = new Tests(driver); Detailsobj = new Details(driver); EditSummaryobj = new EditSummary(driver); Scorm1_2obj = new Scorm1_2(driver); EditQuestionobj = new EditQuestion(driver); EditQuestionGroupobj = new EditQuestionGroup(driver); AddUsrObj = new AddUsers(driver); generalcourseobj = new GeneralCourse(driver); myteachingscheduleobj = new MyTeachingSchedule(); professionaldevelopmentobj = new ProfessionalDevelopments(driver); documentobj = new Document(driver); CreateNewAccountobj = new CreateNewAccount(driver); ManageUsersobj = new ManageUsers(driver); Createobj = new Create(driver); summaryobj = new Summary(driver); reauiredtrainingconsoleobj = new RequiredTrainingConsoles(driver); requiredtrainingobj = new RequiredTraining(driver); Trainingobj = new Training(driver); Loginobj = new Login(driver); Contentobj = new Content(driver); Creditsobj = new Credits(driver); AddContentobj = new AddContent(driver); Summaryobj = new Summary(driver); ScheduleAndManageSectionobj = new ScheduleAndManageSection(driver); SearchResultsobj = new SearchResults(driver); CourseSectionobj = new CreateNewCourseSectionAndEventPage(driver); Transcriptsobj = new Transcripts(driver); Productsobj = new Products(driver); BrowseTrainingCatalogobj = new BrowseTrainingCatalog(driver); ShoppingCartsobj = new ShoppingCarts(driver); ProfessionalDevelopmentsobj = new ProfessionalDevelopments(driver); Createnewproficencyscaleobj = new Createnewproficencyscale(driver); Createnewcompetencyobj = new Createnewcompetency(driver); CreateNewSucessProfileobj = new CreateNewSucessProfile(driver); SucessProfileobj = new SucessProfile(driver); Searchobj = new Search(driver); TrainingActivitiesobj = new TrainingActivities(driver); ProfessionalDevelopments_learnerobj = new ProfessionalDevelopments_learner(driver); Organizationobj = new Organization(driver); DevelopmentPlansobj = new DevelopmentPlans(driver); AddDevelopmentActivitiesobj = new AddDevelopmentActivities(driver); MyAccountobj = new MyAccount(driver); UsersUtilobj = new UsersUtil(driver); MyCalendersobj = new MyCalenders(driver); MyReportsobj = new MyReports(driver); Config_Reportsobj = new Config_Reports(driver); ConfigurationConsoleobj = new ConfigurationConsole(driver); ApprovalPathobj = new ApprovalPath(driver); MyMessageobj = new MyMessages(driver); MessageUtilobj = new MessageUtil(driver); MyRequestsobj = new MyRequests(driver); Blogsobj = new Blogs(driver); CollabarationSpacesobj = new CollabarationSpaces(driver); Faqsobj = new Faqs(driver); HomePageFeedobj = new HomePageFeed(driver); ProductTypesobj = new ProductTypes(driver); Surveysobj = new Surveys(driver); SurveyScalesobj = new SurveyScales(driver); AuditingConsolesobj = new AuditingConsoles(driver); Categoryobj = new Category(driver); Trainingsobj = new Trainings(driver); VirtualMeetingsobj = new VirtualMeetings(driver); CreditTypeobj = new CreditType(driver); AssignedUserobj = new AssignedUser(driver); AddUsersobj = new AddUsers(driver); CustomFieldobj = new CustomField(driver); CreateNewCustomFieldobj = new CreateNewCustomField(driver); EditFieldobj = new EditField(driver); EducationLevelobj = new EducationLevel(driver); EditOrganizationobj = new EditOrganization(driver); SelectManagerobj = new SelectManager(driver); Roleobj = new Role(driver); SelectTrainingPOCobj = new SelectTrainingPOC(driver); Complexobj = new Complex(driver); AccountCodesobj = new AccountCodes(driver); AccountCodeTypesobj = new AccountCodeTypes(driver); DiscountCodesobj = new DiscountCodes(driver); ManageTaxRatesobj = new ManageTaxRates(driver); TaxItemCategoriesobj = new TaxItemCategories(driver); Certificatesobj = new Certificates(driver); CourseProvidersobj = new CourseProviders(driver); ExternalLearningsobj = new ExternalLearnings(driver); ExternalLearningConsolesobj = new ExternalLearningConsoles(driver); ExternalLearningtypesobj = new ExternalLearningtypes(driver); RequiredTrainingConsolesobj = new RequiredTrainingConsoles(driver); SelectProfileobj = new SelectProfile(driver); TrainingProfilesobj = new TrainingProfiles(driver); EditTrainingProfileobj = new EditTrainingProfile(driver); MergeUsersobj = new MergeUsers(driver); UserGroupobj = new UserGroup(driver); SelectCertificateobj = new SelectCertificate(driver); ManageProficencyScaleobj = new ManageProficencyScale(driver); ArchivedProficencyScaleobj = new ArchivedProficencyScale(driver); MappedContentobj = new MappedContent(driver); MappedCompetencyobj = new MappedCompetency(driver); ManageSuccessProfileobj = new ManageSuccessProfile(driver); FAQ_lobj = new FAQ_l(driver); Announcements_lobj = new Announcements_l(driver); JobTitlesobj = new JobTitles(driver); ManageJobTitleobj = new ManageJobTitle(driver); ManagePricingScheduleobj = new ManagePricingSchedule(driver); ExternalLearningSearchobj = new ExternalLearningSearch(driver); urlobj = new url(driver); skinobj = new skin(driver); MyOwnLearningobj = new MyOwnLearningUtils(driver); CurrentTrainingsobj = new CurrentTrainings(driver); scormobj = new Scorm12(driver); aicccourse = new AICC(driver); ojtcourse = new OJT(driver); TrainingCatalogobj = new TrainingCatalogUtil(driver); accesskeys = new AccessKeys(driver); #endregion }