Exemple #1
0
        public int Insert(APIEmpIdModel <WorkOrder> model)
        {
            try
            {
                var proposalService = new ProposalService(dbContext);
                var proposal        = proposalService.GetProposalById(model.Model.ProposalId);
                model.Model.BusinessPartnerId        = proposal.BusinessPartnerId;
                model.Model.BusinessPartnerContactId = proposal.BusinessPartnerContactId;
                var query           = WorkOrderQueries.Add;
                var parameters      = DataHelper.ExtractParameters(model.Model);
                var workorderId     = dbContext.Execute <int>(query, parameters);
                var queryLines      = WorkOrderQueries.CopyItemsFromProposal;
                var parametersLines = DataHelper.ExtractParameters(new { WorkOrderId = workorderId, ProposalId = model.Model.ProposalId });
                dbContext.ExecuteNonQuery(queryLines, parametersLines);
                if (proposal.Discount.HasValue)
                {
                    var discountModel = new DiscountView {
                        Discount = proposal.Discount.Value, WorkOrderId = workorderId
                    };
                    var res = ApplyDiscount(discountModel);
                }

                var erpEvent = new ERPEventHelper().GetEventModel(model.EmployeeId, workorderId, EventTypes.WorkOrderDrafted);
                dbContext.ExecuteNonQuery(EventQueries.EventInsert, DataHelper.ExtractParameters(erpEvent));

                return(workorderId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        public bool ApplyDiscount(DiscountView model)
        {
            var query      = WorkOrderQueries.SetDiscount;
            var parameters = DataHelper.ExtractParameters(model);

            dbContext.ExecuteNonQuery(query, parameters);
            return(true);
        }
 public ActionResult <bool> ApplyDiscount([FromBody] DiscountView value)
 {
     try
     {
         var result = db.ApplyDiscount(value);
         return(result);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #4
0
        public async Task <IActionResult> ApplyDiscount([FromBody] DiscountView value)
        {
            try
            {
                var result = await api.Post <DiscountView, bool>("WorkOrder/ApplyDiscount", value);

                return(Json(result));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #5
0
        private void discountButtonPressed(object parameter)
        {
            DiscountView discount_view = new DiscountView(this);

            discount_view.Left = HomeViewModel.MainView.Left + (HomeViewModel.MainView.ActualWidth / 2) - discount_view.ActualWidth;
            discount_view.Top  = HomeViewModel.MainView.Top + 160;
            if (SelectedItem != null)
            {
                discount_view.CartSelected = false;
                discount_view.Show();
            }
            else
            {
                discount_view.product_button.IsEnabled = false;
                discount_view.Show();
            }
        }
Exemple #6
0
 public override void LoadView()
 {
     View = new DiscountView();
 }
Exemple #7
0
        public ActionResult Discount(DiscountView discountView, string time)
        {
            if (ModelState.IsValid)
            {
                #region Check Cache

                int SaleID    = discountView.SaleID;
                var saleCache = CacheSale;
                if (IsCookieTimeEqual(time))
                {
                    MessageSetter.SetWarning("Sorry , previous transaction is not saved to the database. Because same transaction is placed before.");
                    if (saleCache != null)
                    {
                        if (IsToday(saleCache))
                        {
                            // today
                            return(RedirectToActionPermanent("Today"));
                        }
                        else
                        {
                            return(DetermineSaleDay(saleCache));
                        }
                    }
                    return(DetermineSaleDay(SaleID));
                }
                #endregion

                var sale = GetDatedSale(SaleID);

                if (IsTransactionRejected(sale))
                {
                    return(View("Error2", new Exception("Sorry you have no rights to change previous sales information.")));
                }

                var inventory = db.Inventories.Include(n => n.Category).FirstOrDefault(n => n.CategoryID == discountView.DiscountCategoryID);

                if (sale != null && inventory != null)
                {
                    int soldAt   = discountView.Amount;
                    int discount = (int)inventory.SoldPrice - soldAt;

                    var saleItem = new DB.DetailedSale {
                        CategoryID      = discountView.DiscountCategoryID,
                        IsDiscard       = false,
                        SaleID          = discountView.SaleID,
                        SellingPrice    = (int)inventory.SoldPrice,
                        SoldAt          = soldAt,
                        Discount        = discount,
                        Time            = DateTime.Now,
                        IsMarkedDiscard = false,
                        DiscountPerson  = discountView.Name,
                        DiscountNumber  = discountView.Phone,
                        Note            = discountView.Notes,
                        UserID          = userinfo.GetUserID()
                    };
                    // do some inventory out
                    // not implemented yet...
                    InventoryOut(sale, inventory);
                    sale.TotalAcheived += soldAt;
                    sale.TotalSold     += soldAt;
                    sale.TotalDiscountNumber++;
                    if (sale.Discount == null)
                    {
                        sale.Discount = 0;
                    }
                    sale.Discount += discount;
                    db.DetailedSales.Add(saleItem);

                    //Increasing quantity of sale
                    IncreaseSaleQuantity(saleItem);

                    //add category wise sale
                    AddCategoryWiseSellingInformation(saleItem);

                    db.SaveChanges();
                    string categoryDisplay = inventory.Category.Category1;
                    MessageSetter.SetPositive(categoryDisplay + " +1 , discount @" + discount + ".");
                    CacheSale = sale;
                }
                else
                {
                    throw new Exception("Sale or Inventory is not found.");
                }
                return(DetermineSaleDay(sale));
            }
            return(View("Error"));
        }
 public override void LoadView()
 {
     View = new DiscountView ();
 }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ISeedData seedData)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseSignalR((cfg) => {
                cfg.MapHub <NotificationHub>("/notifications");
            });

            app.UseMvc(routes =>
                       routes.MapRoute(
                           name: "WebAPI",
                           template: "api/{controller}/{action}/{id?}"
                           )
                       //.MapRoute(
                       //    name: "WebAPIForYear",
                       //    template: "api/foryear/{year:int}/{controller}/{action}/{id?}"
                       //)
                       );

            seedData.SeedCompanyData();
            seedData.SeedUserData();
            //var tmp1 = UnitOfWork.ContoShemeOptions;

            //seedData.PopulateData();

            // Create views
            BankView.CreateView();

            BusinessPartnerBankView.CreateView();
            BusinessPartnerByConstructionSiteView.CreateView();
            BusinessPartnerInstitutionView.CreateView();
            BusinessPartnerLocationView.CreateView();
            BusinessPartnerDocumentView.CreateView();
            BusinessPartnerNoteView.CreateView();
            BusinessPartnerOrganizationUnitView.CreateView();
            BusinessPartnerPhoneView.CreateView();
            BusinessPartnerView.CreateView();
            BusinessPartnerTypeView.CreateView();

            //CompanyView.CreateView(); //???

            //UserView.CreateView();

            InputInvoiceView.CreateView();
            InputInvoiceNoteView.CreateView();
            InputInvoiceDocumentView.CreateView();
            OutputInvoiceDocumentView.CreateView();
            OutputInvoiceView.CreateView();
            OutputInvoiceNoteView.CreateView();

            CountryView.CreateView();
            RegionView.CreateView();
            MunicipalityView.CreateView();
            CityView.CreateView();

            ProfessionView.CreateView();

            SectorView.CreateView();
            AgencyView.CreateView();

            TaxAdministrationView.CreateView();

            ToDoView.CreateView();

            EmployeeByBusinessPartnerView.CreateView();
            EmployeeByConstructionSiteView.CreateView();
            EmployeeCardView.CreateView();
            EmployeeView.CreateView();
            EmployeeDocumentView.CreateView();
            EmployeeItemView.CreateView();
            EmployeeLicenceView.CreateView();
            EmployeeNoteView.CreateView();
            EmployeeProfessionView.CreateView();
            FamilyMemberView.CreateView();
            LicenceTypeView.CreateView();

            PhysicalPersonView.CreateView();
            PhysicalPersonItemView.CreateView();
            PhysicalPersonNoteView.CreateView();
            PhysicalPersonLicenceView.CreateView();
            PhysicalPersonDocumentView.CreateView();
            PhysicalPersonCardView.CreateView();
            PhysicalPersonProfessionView.CreateView();

            ConstructionSiteCalculationView.CreateView();
            ConstructionSiteDocumentView.CreateView();
            ConstructionSiteNoteView.CreateView();
            ConstructionSiteView.CreateView();

            VatView.CreateView();

            ServiceDeliveryView.CreateView();
            DiscountView.CreateView();
            StatusView.CreateView();

            ShipmentView.CreateView();
            ShipmentDocumentView.CreateView();

            PhonebookView.CreateView();
            PhonebookDocumentView.CreateView();
            PhonebookNoteView.CreateView();
            PhonebookPhoneView.CreateView();

            InvoiceView.CreateView();
            InvoiceItemView.CreateView();

            CallCentarView.CreateView();

            CalendarAssignmentView.CreateView();

            EmployeeAttachmentView.CreateView();

            PhysicalPersonAttachmentView.CreateView();

            ToDoStatusView.CreateView();

            var mailingTime = new Config().GetConfiguration()["MailTime"];

            Console.WriteLine("Sending mails scheduled at: {0}\nCurrent time: {1}", mailingTime, DateTime.Now.ToString("HH:mm:ss"));

            Thread mailThread = new Thread(() => MailTask.SendMailTime(mailingTime));

            mailThread.IsBackground = true;
            mailThread.Start();
        }
Exemple #10
0
        private void Button_DiscountView(object sender, RoutedEventArgs e)
        {
            DiscountView discount = new DiscountView();

            discount.ShowDialog();
        }