Esempio n. 1
0
        public ActionResult Create(int?id, string homePhone, DateTime date)
        {
            Client client;

            if (id != null)
            {
                client = db.Clients.Find((int)id);
            }
            else if (homePhone != null)
            {
                client = db.Clients.SingleOrDefault(c => c.HomePhone == homePhone);
            }
            else
            {
                client = null;
            }

            var newDay = new CreateClientDayViewModel(date)
            {
                ClientId = client.Id,
                PriceId  = db.ClientPrices.AsEnumerable().LastOrDefault(p => p.ClientId == id).PerHourId
            };

            ViewBag.k = newDay.PriceId;
            return(View(newDay));
        }
Esempio n. 2
0
        public ActionResult Edit(CreateClientDayViewModel day)
        {
            var date    = new DateTime(day.Date.Year, day.Date.Month, day.Date.Day, day.StartTime.Hours, day.StartTime.Minutes, 0);
            var endDate = new DateTime(date.Year, date.Month, date.Day, day.EndTime.Hours, day.EndTime.Minutes, 0);

            var clientDay = db.ClientDays.Include(d => d.Week).SingleOrDefault(d => d.Id == day.DayId);
            var price     = db.PricePerHours.Find(day.PriceId);

            if (string.IsNullOrWhiteSpace(day.BreakDown))
            {
                (clientDay.Price, clientDay.Learnd) = (0, false);
            }
            else
            {
                clientDay.Learnd = true;
            }
            var oldPrice = clientDay.Price;
            var newPrice = clientDay.Learnd? price.Devide(endDate - date): 0;

            (clientDay.StartTime, clientDay.EndTime, clientDay.BreakDown, clientDay.Time, clientDay.Price, clientDay.PricePHId)
                = (date, endDate, day.BreakDown, endDate - date, newPrice, day.PriceId);


            db.ClientBalances.Find(clientDay.ClientId).Add(newPrice - oldPrice);
            db.SaveChanges();

            return(RedirectToAction("Details", "ClientWeeks",
                                    new { Id = clientDay.WeekId }));
        }
Esempio n. 3
0
        // GET: ClientDays/Edit/5
        public ActionResult Edit(int id)
        {
            var clientDay = db.ClientDays.Include(d => d.Client).SingleOrDefault(d => d.Id == id);
            var createDay = new CreateClientDayViewModel()
            {
                ClientId  = clientDay.Client.Id,
                Date      = clientDay.StartTime.Date,
                StartTime = clientDay.StartTime.TimeOfDay,
                EndTime   = clientDay.EndTime.TimeOfDay,
                BreakDown = clientDay.BreakDown,
                DayId     = id
            };

            return(View(createDay));
        }
Esempio n. 4
0
 public ActionResult Create(CreateClientDayViewModel model)
 {
     try
     {
         var date     = ParshaWeek.GetDateFromPharsha(model.Day, model.Parsha, model.Year);
         var dateTime = new DateTime(date.Year, date.Month, date.Day,
                                     model.StartTime.Hours, model.StartTime.Minutes, 00);
         var clientDay = new ClientDay(dateTime, model.EndTime, model.ClientId, model.BreakDown, model.PriceId);
         db.ClientBalances.Find(clientDay.ClientId).Add(clientDay.Price);
         db.SaveChanges();
         return(RedirectToAction("Create", "ClientWeeks", clientDay));
     }
     catch (Exception e)
     {
         return(Json(e.Message));
     }
 }