コード例 #1
0
        public PartialViewResult CreateEditHours(Hour model)
        {
            if (!ModelState.IsValid)
            {
                Response.StatusCode = 500;
                return(PartialView("_ManageHours", model));
            }
            try
            {
                var entity = db.Hours.Find(model.UserId, model.Date);
                // Verifico se ci sono ordini e se sono state modificate le ore
                var bOrders = db.WorkOrders.Any(x => x.UserId == model.UserId && DbFunctions.TruncateTime(x.Date) == DbFunctions.TruncateTime(model.Date));
                if (bOrders && (entity.Start != model.Start || entity.End != model.End || entity.Break != model.Break || entity.Travel != model.Travel))
                {
                    throw new Exception("Impossibile Modificare le Ore di Giorni con commesse associate");
                }

                // Sistemo le note
                model.Note = (model.Note == null) ? "" : model.Note;
                // Aggiungo o modifico del db
                db.Hours.AddOrUpdate(m => new { m.UserId, m.Date }, model);
                db.SaveChanges();
                ViewBag.Success = "La modifica è stata eseguita";
                return(GetDay(model.Date.Year, model.Date.Month, model.Date.Day));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.MySqlExMessage());
                Response.StatusCode = 500;
                return(PartialView("_ManageHours", model));
            }
        }
コード例 #2
0
ファイル: AccountController.cs プロジェクト: StePampy/GseWeb
 //[ValidateAntiForgeryToken]
 public ActionResult Create(User model, string returnUrl = "")
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     if (model.Password != model.ConfirmPassword)
     {
         ModelState.AddModelError("", "The password and confirmation password do not match.");
         return(View(model));
     }
     try
     {
         // Add user into DB
         db.Users.Add(model);
         db.SaveChanges();
         TempData["Success"] = "User has been added successfully!";
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.MySqlExMessage());
         return(View(model));
     }
 }
コード例 #3
0
ファイル: ReportController.cs プロジェクト: StePampy/GseWeb
 public ActionResult FreezeMonth(int year = 0, int month = 0)
 {
     try
     {
         var entity = db.MonthsFrozen.Find(year, month);
         if (entity == null)
         {
             // Aggiungo
             entity = new Models.MonthFrozen {
                 Year = year, Month = month
             };
             db.MonthsFrozen.Add(entity);
             TempData["AlertMessage"] = "Mese Bloccato con Successo";
         }
         else
         {
             // Elimino
             db.Entry(entity).State   = EntityState.Deleted;
             TempData["AlertMessage"] = "Mese Sbloccato con Successo";
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         TempData["AlertMessage"] = string.Format("Error: {0}", ex.MySqlExMessage());
     }
     return(RedirectToAction("ReportUsers", new { year = year, month = month }));
 }
コード例 #4
0
ファイル: MaterialController.cs プロジェクト: StePampy/GseWeb
 public PartialViewResult CreateEditMaterial(Material model, string returnUrl = "")
 {
     ViewBag.Title = (model.Id == -1) ? "Aggiungi Materiale" : "Modifica Materiale";
     if (!ModelState.IsValid)
     {
         return(PartialView("_CreateEditMaterial", model));
     }
     // Inserimento/Modifica in database
     try
     {
         model.Date = DateTime.Now;
         db.Materials.AddOrUpdate(m => m.Id, model);
         db.SaveChanges();
         ViewBag.Message   = (model.Id == -1) ? "Aggiunto con Successo!" : "Modificato con Successo!";
         ViewBag.ReturnUrl = returnUrl;
         return(PartialView("../Shared/_Success"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.MySqlExMessage());
         return(PartialView("_CreateEditMaterial", model));
     }
 }
コード例 #5
0
 public PartialViewResult CreateEditUserVehicle(UserVehicle model)
 {
     ViewBag.Title = (model.Id == -1) ? "Aggiungi Veicolo" : "Modifica Veicolo";
     if (!ModelState.IsValid)
     {
         return(PartialView("_CreateEditUserVehicle", model));
     }
     // Inserimento/Modifica in database
     try
     {
         model.UpdateDate = DateTime.Now;
         db.UsersVehicles.AddOrUpdate(m => m.Id, model);
         db.SaveChanges();
         ViewBag.Message   = (model.Id == -1) ? "Aggiunto con Successo!" : "Modificato con Successo!";
         ViewBag.ReturnUrl = string.Format("/Vehicle/Index?year={0}&month={1}", DateTime.Now.Year, DateTime.Now.Month);
         return(PartialView("../Shared/_Success"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.MySqlExMessage());
         return(PartialView("_CreateEditUserVehicle", model));
     }
 }
コード例 #6
0
ファイル: OrdersController.cs プロジェクト: StePampy/GseWeb
 public ActionResult Create(Order model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     try
     {
         db.Orders.Add(model);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.MySqlExMessage());
         return(View(model));
     }
     return(RedirectToAction("Index"));
 }
コード例 #7
0
ファイル: HolidayController.cs プロジェクト: StePampy/GseWeb
        public PartialViewResult CreateHoliday(Holiday model)
        {
            ViewBag.Title = "Nuova Richiesta";

            // verifiche
            if (model != null && model.Type == Holiday_Type.Ferie)
            {
                if (model.Date_To < model.Date_From)
                {
                    ModelState.AddModelError("", "Il Giorno di Fine non può essere minore del Giorno di Inizio");
                }
                if (db.Holidays.Any(x => x.UserId == model.UserId && (model.Date_From >= x.Date_From && model.Date_From <= x.Date_To || model.Date_To >= x.Date_From && model.Date_To <= x.Date_To)))
                {
                    ModelState.AddModelError("", "Esiste già una richiesta per le date selezionate");
                }
            }
            if (model != null && model.Type == Holiday_Type.Permesso)
            {
                model.Date_To = model.Date_From;
                // Veriica Ore
                if (model.Time_From >= model.Time_To)
                {
                    ModelState.AddModelError("", "Il permesso deve essre maggiore di 00:00:00 ore");
                }
                // Verifica motivazione
                if (string.IsNullOrWhiteSpace(model.Request_Note))
                {
                    ModelState.AddModelError("", "Inserire Motivazione");
                }
                // Verifica Data
                if (db.Holidays.Any(x => x.UserId == model.UserId & model.Date_From >= x.Date_From && model.Date_From <= x.Date_To))
                {
                    ModelState.AddModelError("", "Esiste già una richiesta per la data selezionata");
                }
                // Verifica Ore Ordinarie
                var ord = db.GetOrdinaryHours(model.UserId, model.Date_From.DayOfWeek);
                if ((model.Time_To - model.Time_From) > ord)
                {
                    ModelState.AddModelError("", "Il permesso non può essere maggiore delle ore ordinarie");
                }
            }
            if (!ModelState.IsValid)
            {
                return(PartialView("_CreateHoliday", model));
            }
            var user = db.Users.Find(model.UserId);

            model.User          = user;
            model.Status        = Status_Request.Attesa;
            model.Request_Date  = DateTime.Now;
            model.Response_Date = new DateTime();
            model.UserApproveId = null;
            // Invio Email
            try
            {
                SendEmailHoliday(model);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", string.Format("Impossibile Inviare la Richiesta: {0}", ex.Message));
                return(PartialView("_CreateHoliday", model));
            }
            // Inserimento/Modifica in database
            try
            {
                db.Holidays.Add(model);
                db.SaveChanges();
                ViewBag.Message   = "Aggiunta con Successo!";
                ViewBag.ReturnUrl = string.Format("/Holiday/Index?year={0}", model.Date_From.Year);
                return(PartialView("../Shared/_Success"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.MySqlExMessage());
                return(PartialView("_CreateHoliday", model));
            }
        }