예제 #1
0
        public ActionResult TermDefEdit(TermDefViewModel termDefViewModel)
        {
            try
            {
                string fileNames = "";
                int fileCnt = 0;
                var uploaded = false;

                if (ModelState.IsValid)
                {
                    var terminalDefinition = _repository.Find<TerminalDefinition>(termDefViewModel.Id);
                    var fileDirectory = Path.Combine(Server.MapPath("~/App_Data/Applications/"),
                        terminalDefinition.Name + "_" + DateTime.Now.ToString("yyyy MMMM dd"));
                    if (!Directory.Exists(fileDirectory))
                    {
                        Directory.CreateDirectory(fileDirectory);
                    }
                    else
                    {
                        foreach (var file in Directory.GetFiles(fileDirectory))
                        {
                            System.IO.File.Delete(file);
                        }
                    }
                    foreach (var file in termDefViewModel.Files)
                    {
                        if (file.ContentLength > 0)
                        {
                            var fileName = Path.GetFileName(file.FileName);
                            var path = Path.Combine(fileDirectory, fileName);
                            file.SaveAs(path);
                            uploaded = true;
                            fileNames += Path.GetFileName(fileName) + " || ";
                            fileCnt++;
                        }
                    }
                    if (uploaded)
                    {
                        if (ModelState.IsValid)
                        {
                            if (
                                !_repository.Fetch<TerminalDefinition>()
                                    .Any(p => p.Name == termDefViewModel.Name && p.SerialNo == termDefViewModel.SerialNo))
                            {
                                terminalDefinition.Maker = User.Identity.GetUserName();
                                terminalDefinition.EditDateTime = DateTime.Now;
                                terminalDefinition.Status = MyEnums.StatusOptions.Edited;
                                terminalDefinition.Active = MyEnums.Active.Disable;
                                terminalDefinition.Name = termDefViewModel.Name;
                                terminalDefinition.Description = termDefViewModel.Description;
                                terminalDefinition.SerialNo = termDefViewModel.SerialNo;
                                terminalDefinition.FileCount = fileCnt;
                                terminalDefinition.FileNames = fileNames;
                                terminalDefinition.TId = termDefViewModel.TId;
                                terminalDefinition.MId = termDefViewModel.MId;
                                _repository.SaveUpdate(terminalDefinition);
                                _logs.LogAudit(User.Identity.GetUserName(), "TermDefEdit_HTTPPOST", Request.UserHostName,
                                    "Edited Terminal :" + terminalDefinition.Name, "Edited");
                            }
                            else
                            {
                                ModelState.AddModelError("",
                                    termDefViewModel.Name + " or Serial No: " + termDefViewModel.SerialNo +
                                    " Already Exists!");
                                return View(termDefViewModel);
                            }
                        }
                    }
                }
                return RedirectToAction("TermDefIndex");
            }
            catch (Exception ex)
            {
                _logs.LogError(User.Identity.GetUserName(), "TermDefEdit_HTTPPOST", "Error: " + ex.Message,
                   Request.ServerVariables["REMOTE_ADDR"]);
                return HttpNotFound();
            }
        }
예제 #2
0
 public ActionResult TermDefEdit(Guid id)
 {
     try
     {
         var model = _repository.Find<TerminalDefinition>(id);
         var termDefEdit = new TermDefViewModel
         {
             Id = model.Id,
             Name = model.Name,
             Description = model.Description,
             SerialNo = model.SerialNo
         };
         return View(termDefEdit);
     }
     catch (Exception ex)
     {
         _logs.LogError(User.Identity.GetUserName(), "TermDefEdit_HTTPGET", "Error: " + ex.Message,
             Request.ServerVariables["REMOTE_ADDR"]);
         return HttpNotFound();
     }
 }