public ActionResult Create([Bind(Include = "Id,Version,Content,Name,Description,UserId,CreationDate,Cost,FileTypeId")] Script script)
        {
            var scripts = db.Scripts.Include(s => s.FileType).Include(s => s.User);

            script.Id           = scripts.Max(s => s.Id) + 1;
            script.Version      = 1;
            script.CreationDate = DateTime.Now;

            var user = db.Users.FirstOrDefault(u => u.Email.Equals(User.Identity.Name));

            script.UserId = user.Id;
            ModelState["UserId"].Errors.Clear();
            ModelState.SetModelValue("UserId", new ValueProviderResult(user.Id, "", System.Globalization.CultureInfo.InvariantCulture));
            if (ModelState.IsValid)
            {
                db.Scripts.Add(script);
                db.SaveChanges();
                new TwitterAPI().Tweet(string.Format("The script {0} - {1} created. Cost: {2}$", script.Name, script.Description, script.Cost));
                return(RedirectToAction("IndexView"));
            }

            ViewBag.FileTypeId = new SelectList(db.FileTypes, "Id", "Language", script.FileTypeId);
            ViewBag.UserId     = new SelectList(db.Users, "Id", "FullName", script.UserId);

            return(View(script));
        }
        public ActionResult Create([Bind(Include = "Id,CreationDate,Status,SrartTime,EndTime,ScheduleTime,UserId,ReasonId,MachineVLan,MachineIP")] Execution execution)
        {
            var user = db.Users.FirstOrDefault(u => u.Email.Equals(User.Identity.Name));

            if (ModelState.IsValid)
            {
                execution.CreationDate = DateTime.Now;
                execution.Status       = Status.Waiting;

                execution.UserId = user.Id;

                if (!String.IsNullOrEmpty(Request.Form.Get("ScheduleTime")))
                {
                    execution.ScheduleTime = DateTime.ParseExact(Request.Form.Get("ScheduleTime"), "DD/MM/YYYY HH:mm", CultureInfo.InvariantCulture);
                }
                var scriptsListVal = Request.Form.Get("ScriptsList");
                if (!String.IsNullOrEmpty(scriptsListVal))
                {
                    var i = 0;
                    execution.ExecutionsScriptses = scriptsListVal.Split(',').ToList()
                                                    .ConvertAll(s => new ExecutionsScripts()
                    {
                        ScriptId      = int.Parse(s.Split('_')[0]),
                        ScriptVersion = int.Parse(s.Split('_')[1]),
                        Order         = ++i,
                        Status        = Status.Waiting
                    });
                }
                db.Executions.Add(execution);
                db.SaveChanges();
                QueueManager.Instance.AddTask(execution);
                return(RedirectToAction("Index"));
            }

            var machines = db.Machines.Include(m => m.Company).Include(m => m.Country);

            if (user.Role != Role.Admin && user.Role != Role.Manager)
            {
                machines = machines.Where(m => m.CompanyCode == user.CompanyCode);
            }

            var grouppedScripts = db.Scripts.Include(s => s.FileType).Include(s => s.User)
                                  .OrderBy(script => script.Version)
                                  .GroupBy(script => script.Id).ToList();

            var scripts = grouppedScripts.Select(s => s.Last()).ToList();

            ViewBag.Scripts = scripts.ToList();


            ViewBag.Machines  = machines;
            ViewBag.MachineIP = new SelectList(db.Machines, "IP", "IP", execution.MachineIP);
            ViewBag.ReasonId  = new SelectList(db.Reasons, "Id", "ReasonName", execution.ReasonId);
            ViewBag.UserId    = new SelectList(db.Users, "Id", "FullName", execution.UserId);
            return(View(execution));
        }
        public ActionResult Create([Bind(Include = "IP,VLan,IsDeleted,CompanyCode,CreationDate,CountryId")] Machine machine)
        {
            if (ModelState.IsValid)
            {
                db.Machines.Add(machine);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CompanyCode = new SelectList(db.Companies, "Code", "Name", machine.CompanyCode);
            ViewBag.CountryId   = new SelectList(db.Countries, "Id", "Name", machine.CountryId);
            return(View(machine));
        }
Example #4
0
        public ActionResult Create([Bind(Include = "Id,Content,CreationDate,UserId,ExecutionId")] Comment comment)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.FirstOrDefault(u => u.Email.Equals(User.Identity.Name));

                comment.UserId       = user.Id;
                comment.CreationDate = DateTime.Now;
                db.Comments.Add(comment);
                db.SaveChanges();
            }

            return(Content("OK"));
        }
        public ActionResult Create([Bind(Include = "Id,FullName,Email,Role,IsDeleted,CompanyCode,CreationDate")] User user)
        {
            if (ModelState.IsValid)
            {
                user.CreationDate = DateTime.Now;
                user.IsDeleted    = false;
                db.Users.Add(user);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CompanyCode = new SelectList(db.Companies, "Code", "Name", user.CompanyCode);
            return(View(user));
        }
Example #6
0
        public ActionResult Create([Bind(Include = "Code,Name,Logo")] Company company)
        {
            if (ModelState.IsValid)
            {
                db.Companies.Add(company);
                db.SaveChanges();

                ViewBag.ModelName = "Company";
                ViewBag.ItemName  = company.Name;

                return(PartialView("SuccessPage"));
            }

            return(View(company));
        }
Example #7
0
        private void UpdateDBChangesLock(Object entity)
        {
            lock (obj)
            {
                db.Entry(entity).State = System.Data.Entity.EntityState.Modified;

                db.SaveChanges();
            }
        }