Ejemplo n.º 1
0
        public IHttpActionResult PutDailyFile(DailyFile dailyFile)
        {
            int id = dailyFile.Id;

            dailyFile.CreatedDate = DateTime.UtcNow;
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != dailyFile.Id)
            {
                return(BadRequest());
            }

            _db.Entry(dailyFile).State = EntityState.Modified;

            try
            {
                _db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DailyFileExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 2
0
        public IHttpActionResult GetDailyFile(int Id)
        {
            DailyFile dailyFile = _db.DailyFiles.Find(Id);

            dailyFile.DailyFileDetailses = new List <DailyFileDetails>();
            dailyFile.DailyFileDetailses =
                _db.DailyFileDetailses.Where(x => x.DailyFileId == Id).Include("Employee").ToList();

            if (dailyFile == null)
            {
                return(NotFound());
            }

            return(Ok(dailyFile));
        }
Ejemplo n.º 3
0
        private void InsertIntoDailyFiles(DailyFile dailyFile, string root, int newname)
        {
            dailyFile.FilePath = root + newname + ".xls";

            string con =
                (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dailyFile.FilePath +
                 ";Extended Properties='Excel 12.0 Xml; HDR = YES; IMEX = 1';");

            //string con2 =
            //      (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\File\Bank.xls;Extended Properties='Excel 12.0 Xml; HDR = YES; IMEX = 1';");

            BL bl = new BL(con);

            DataTable dtw = bl.GetTable("select * from [Sheet1$]");



            List <DailyFileDetails> list = new List <DailyFileDetails>();

            foreach (DataRow row in dtw.Rows)
            {
                if (row[6].ToString() != "")
                {
                    int empid = Convert.ToInt32(row[4]);

                    if (Convert.ToDecimal(row[6]) > 0)
                    {
                        var firstOrDefault = _db.Employees.FirstOrDefault(x => x.Code == (empid));
                        if (firstOrDefault != null)
                        {
                            dailyFile.DailyFileDetailses.Add(new DailyFileDetails()
                            {
                                Net         = Convert.ToDecimal(row[6]),
                                EmployeeId  = firstOrDefault.Id,
                                DailyFileId = dailyFile.Id,
                                Employee    = firstOrDefault
                            });
                        }
                    }
                }
            }

            dailyFile.EmployeesNumber = dailyFile.DailyFileDetailses.Count;
            dailyFile.FileTotalAmount = dailyFile.DailyFileDetailses.Sum(x => x.Net);
            _db.DailyFiles.Add(dailyFile);
            _db.SaveChanges();
        }
Ejemplo n.º 4
0
        public IHttpActionResult DeleteDailyFile(int Id)
        {
            DailyFile dailyFile = _db.DailyFiles.Find(Id);

            if (dailyFile == null)
            {
                return(NotFound());
            }

            _db.DailyFiles.Remove(dailyFile);
            if (File.Exists(dailyFile.FilePath))
            {
                File.Delete(dailyFile.FilePath);
            }
            _db.SaveChanges();

            return(Ok(dailyFile));
        }
Ejemplo n.º 5
0
        private void AddBtn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                CheckoutProductViewModel viewModel;
                var textBoxContent = CodeAndQuantityTxt.Text;
                //Добавяне на продукт
                if (Regex.Match(textBoxContent, @"^\d+\*{1}\d+$").Success&& textBoxContent != "*+")
                {
                    var  splittedText = textBoxContent.Split('*').ToList();
                    bool n            = false;
                    foreach (var text in splittedText)
                    {
                        if (String.IsNullOrEmpty(text))
                        {
                            n = true;
                        }
                    }
                    if (!n)
                    {
                        var itemIdOrBarcode = 0;
                        int length          = (int)(Math.Log10(int.MaxValue) + 1);

                        if (splittedText[1].Length < length)
                        {
                            itemIdOrBarcode = int.Parse(splittedText[1]);
                        }

                        var item = dBContext.Products.AsNoTracking().FirstOrDefault(p => p.Id == itemIdOrBarcode || p.Barcode == splittedText[1]);
                        if (item == null || item.IsDeleted)
                        {
                            SystemSounds.Hand.Play();
                            MessageBox.Show($"Няма такъв продукт с id/barcode {itemIdOrBarcode}!");
                            throw new Exception($"Няма такъв продукт с id/barcode {itemIdOrBarcode}!");
                        }
                        var itemQuantity = decimal.Parse(splittedText[0]);
                        totalPrice = item.Price * itemQuantity;
                        viewModel  = new CheckoutProductViewModel()
                        {
                            Barcode    = item.Barcode,
                            Id         = item.Id,
                            Measure    = item.Measure,
                            Name       = item.Name,
                            Price      = item.Price,
                            Quantity   = itemQuantity,
                            TotalPrice = totalPrice
                        };

                        Products.Add(item);
                        ProductsList.Add(viewModel);
                        ProductsListGrid.ItemsSource = ProductsList;

                        totalPrice = ProductsList.Sum(x => x.TotalPrice);

                        TotalPriceTxt.Text = totalPrice.ToString();
                        log.Info($"Product {viewModel.Name} with quantity {viewModel.Quantity} added to the bill.");
                    }
                    else
                    {
                        SystemSounds.Hand.Play();
                    }
                }
                //Изтриване на последен добавен продукт
                else if (textBoxContent == "--")
                {
                    var newEventArgs = new RoutedEventArgs(Button.ClickEvent);
                    ClearLastBtn.RaiseEvent(newEventArgs);
                }
                //Завършване на продажба
                else if (textBoxContent == "*+")
                {
                    var newEventArgs = new RoutedEventArgs(Button.ClickEvent);
                    FinishBtn.RaiseEvent(newEventArgs);
                }
                //Дневен отчет
                else if (textBoxContent == "/////")
                {
                    DailyFile.SaveDailyFile();
                }
                else if (textBoxContent == "*+*")
                {
                    var newEventArgs = new RoutedEventArgs(Button.ClickEvent);
                    BillBtn.RaiseEvent(newEventArgs);
                }
                else
                {
                    SystemSounds.Hand.Play();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.InnerException);
            }
            finally
            {
                CodeAndQuantityTxt.Text = string.Empty;
            }
        }