public IActionResult Create()
        {
            AddPageHeader("เพิ่มข้อเสนอโครงการวิจัย", "");
            var model = new CreateVm();

            model = _projectModelFactory.PrepareProjectCreateModel(model);
            return(View(model));
        }
        public async Task <IActionResult> OnPostAsync(CreateVm model, CancellationToken cancellationToken)
        {
            await courseGroupRepository.AddAsync(new Core.Domain.Entities.CourseGroup {
                ParentId = model.ParentId, Title = model.GroupTitle, IsDeleted = false
            }, cancellationToken);

            return(Redirect("/Admin/CourseGroupManagement/Index"));
        }
示例#3
0
        //*********************************************************************
        ///
        /// <summary>
        ///     This method is used to add VM to VM list.
        /// </summary>
        /// <param name="vM"></param>
        ///
        //*********************************************************************

        private void AddVmToList(CreateVm vM)
        {
            if (!vM.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Complete.ToString()))
            {
                _havePendingStatus = true;
            }

            VmList.Add(vM);
        }
示例#4
0
        public void PerformAppDataOps(CreateVm createVmModel)
        {
            var cmpWapDb = WapDbContract;

            if (!WapDbContract.CheckAppDataRecord(createVmModel))
            {
                WapDbContract.InsertAppDataRecord(createVmModel);
            }
        }
 public CreateVm PrepareProjectCreateModel(CreateVm model)
 {
     model.AvailableFiscalSchedules.Add(new SelectListItem {
         Text = "--โปรดระบุปีงบประมาณ--", Value = "", Selected = true
     });
     model.AvailableProfessors.Add(new SelectListItem {
         Text = "--โปรดระบุผู้ทรงคุณวุฒิ--", Value = "", Selected = true
     });
     model.AvailableResearchIssues.Add(new SelectListItem {
         Text = "--โปรดระบุประเด็นการวิจัย--", Value = "", Selected = true
     });
     return(model);
 }
        public IActionResult Create(CreateVm input)
        {
            if (ModelState.IsValid == false)
            {
                return(View(nameof(Create), input));
            }

            Guid createdId = _usersStore.Create(input.ToModel());

            TempData["Success"] = "The user was created.";

            return(RedirectToAction(nameof(Edit), new { Id = createdId }));
        }
示例#7
0
        //*********************************************************************
        ///
        /// <summary>
        ///
        /// </summary>
        /// <param name="_eventLog"></param>
        /// <param name="vM"></param>
        /// <returns></returns>
        ///
        //*********************************************************************

        private int CreateVmTest(EventLog _eventLog, CreateVm vM)
        {
            var cmpi = new VMServiceRepository(_eventLog);

            //Insert app data to the DB
            cmpi.PerformAppDataOps(new CreateVm
            {
                VmAppName               = vM.VmAppName,
                VmAppId                 = vM.VmAppId,
                SubscriptionId          = vM.SubscriptionId,
                AccountAdminLiveEmailId = vM.AccountAdminLiveEmailId
            });
            //Submit VM information to the WAP DB
            vM = cmpi.SubmitVmRequest(vM);

            return(vM.CmpRequestId);
        }
示例#8
0
        public async Task <IActionResult> Create(CreateVm createVm, CancellationToken token)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName = createVm.Email,
                    Email    = createVm.Email,
                    //extended properties
                    FirstName      = createVm.FirstName,
                    LastName       = createVm.LastName,
                    AvatarURL      = "/images/user.png",
                    DateRegistered = DateTime.UtcNow.ToString(),
                    Position       = "",
                    NickName       = "",
                };

                var result = await _userManager.CreateAsync(user, createVm.Password);

                if (result.Succeeded)
                {
                    var companyMember = new CompanyMember
                    {
                        Company = await GetCompany(token),
                        UserId  = user.Id,
                        Role    = MemberRole.Administrator
                    };

                    await _companyMemberRepository.AddAsync(companyMember, CancellationToken.None);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }

            return(View(createVm));
        }
示例#9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateVmModel" /> class.
 /// </summary>
 /// <param name="createVmFromApi">The domain name from API.</param>
 public CreateVmModel(CreateVm createVmFromApi)
 {
     this.Id             = createVmFromApi.Id;
     this.CmpRequestId   = createVmFromApi.CmpRequestId;
     this.Name           = createVmFromApi.Name;
     this.SubscriptionId = createVmFromApi.SubscriptionId;
     this.VmAppName      = createVmFromApi.VmAppName;
     this.VmDomain       = createVmFromApi.VmDomain;
     this.VmAdminName    = createVmFromApi.VmAdminName;
     //  this.VmAdminPassword = createVmFromApi.VmAdminPassword;
     this.VmSourceImage = createVmFromApi.VmSourceImage;
     this.VmSize        = createVmFromApi.VmSize;
     this.VmRegion      = createVmFromApi.VmRegion;
     this.VmRole        = createVmFromApi.VmRole;
     this.VmDiskSpec    = createVmFromApi.VmDiskSpec;
     this.VmConfig      = createVmFromApi.VmConfig;
     this.VmTagData     = createVmFromApi.VmTagData;
     this.StatusCode    = createVmFromApi.StatusCode;
     this.StatusMessage = createVmFromApi.StatusMessage;
     this.AddressFromVm = createVmFromApi.AddressFromVm;
 }
示例#10
0
        public IActionResult New(CreateVm model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var bulkBuy = new BulkBuy()
            {
                DisplayId   = _shortCodeService.GenerateId(IdPrefix.BULK_BUY),
                Name        = model.Name,
                Description = model.Description,
                DueDate     = model.ClosingDate,
                OwnerId     = _userManager.GetUserId(User),
                CreatedDate = DateTime.UtcNow
            };

            _context.BulkBuys.Add(bulkBuy);
            _context.SaveChanges();

            return(RedirectToAction("Details", new { id = bulkBuy.DisplayId }));
        }
示例#11
0
        public async Task <HttpResponseMessage> CreateVm([FromBody] CreateVm vM)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var result = new HttpResponseMessage()
                    {
                        StatusCode = HttpStatusCode.BadRequest,
                        Content    = new StringContent(
                            "Model State is not valid", Encoding.UTF8,
                            "application/json"),
                        ReasonPhrase = "ModelState is not valid"
                    };
                    return(result);
                }

                LogThis(EventLogEntryType.Information, "VM Create Request Submitted", 2, 1);

                vM.CreatedBy = await GetWapAdmin(vM.SubscriptionId);

                var cwdb = new CmpWapDb();

                //*** Map WAP sub to ResProvGroupId

                var resourceProviderGroupName =
                    cwdb.FetchDefaultResourceProviderGroupName(vM.SubscriptionId);

                if (null == resourceProviderGroupName)
                {
                    throw new Exception("Could not locate DefaultResourceProviderGroupName for WAP subscription");
                }

                vM.EnvResourceGroupName = resourceProviderGroupName;

                var cmpi = new VMServiceRepository(_eventLog);

                lock (vM)
                {
                    //Insert app data to the DB
                    cmpi.PerformAppDataOps(new CreateVm {
                        VmAppName               = vM.VmAppName,
                        VmAppId                 = vM.VmAppId,
                        SubscriptionId          = vM.SubscriptionId,
                        AccountAdminLiveEmailId = vM.AccountAdminLiveEmailId,
                        VmRegion                = vM.VmRegion
                    });
                    //Submit VM information to the WAP DB
                    vM = cmpi.SubmitVmRequest(vM);
                    AddVmToList(vM);
                }

                LogThis(EventLogEntryType.Information, "VM Create Request Submitted OK", 2, 2);

                //return Ok(vM);
                return(new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.OK
                });
            }
            catch (Exception ex)
            {
                LogThis(ex, EventLogEntryType.Error, "CmpWapExtension.VmsController.CreateVm()", 100, 1);

                //return InternalServerError(ex);
                //throw new Microsoft.WindowsAzurePack.CmpWapExtension.Common.PortalException(ex.Message);
                var reason = "Exception while submitting request to Create VM : " +
                             Regex.Replace(CmpCommon.Utilities.UnwindExceptionMessages(ex), @"\t|\n|\r", "");

                // Making this as a bad request instead of Internal Server error because the reason phrase for Internal Server error is not able to be customized.
                var result = new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = reason
                };
                return(result);
            }
        }
示例#12
0
        //*********************************************************************
        ///
        /// <summary>
        ///     This method is used to submit VM request fro provisioning.
        /// </summary>
        /// <param name="createVmModel"></param>
        /// <returns>VM object</returns>
        ///
        //*********************************************************************

        public CreateVm SubmitVmRequest(CreateVm createVmModel)
        {
            bool Ismsitmonitored;
            var  reqRec = new CmpVmBuildRequest
            {
                RequestID             = 0,
                AppID                 = createVmModel.VmAppId,
                AppName               = createVmModel.VmAppName,
                RequestName           = createVmModel.Name,
                AzureRegionName       = createVmModel.VmRegion,
                CreatedBy             = createVmModel.CreatedBy,
                OSName                = createVmModel.VmSourceImage,
                RequestAdmins         = createVmModel.VmAdminName,
                VmAdminName           = createVmModel.VmAdminName,
                VmAdminPassword       = createVmModel.VmAdminPassword,
                ResourceGroup         = createVmModel.EnvResourceGroupName,
                SKU_CustomerName      = createVmModel.VmSize,
                StorageConfigXML      = createVmModel.VmDiskSpec,
                ActiveDirectoryDomain = createVmModel.VmDomain,
                ITSMServiceCategory   = createVmModel.ServiceCategory,
                EnvironmentName       = createVmModel.EnvironmentClass,
                NIC1_Config           = createVmModel.Nic1,
                ITSMMonitoredFlag     = Boolean.TryParse(createVmModel.Msitmonitored, out Ismsitmonitored) == true ? Ismsitmonitored : false,
                SQLBuildOut           = createVmModel.sqlconfig == null ? false : createVmModel.sqlconfig.InstallSql,
                SQLAdminGroup         = createVmModel.sqlconfig == null ? null : createVmModel.sqlconfig.AdminGroups,
                SQLInstanceName       = createVmModel.sqlconfig == null ? null : createVmModel.sqlconfig.SqlInstancneName,
                SQLVersionName        = createVmModel.sqlconfig == null ? null : createVmModel.sqlconfig.Version,
                SQLEnableReplication  = createVmModel.sqlconfig == null ? false : createVmModel.sqlconfig.InstallAnalysisServices,
                SQLEnableSSAS         = createVmModel.sqlconfig == null ? false : createVmModel.sqlconfig.InstallAnalysisServices,
                SQLEnableSSIS         = createVmModel.sqlconfig == null ? false : createVmModel.sqlconfig.InstallIntegrationServices,
                SQLSSASMode           = createVmModel.sqlconfig == null ? null : createVmModel.sqlconfig.AnalysisServicesMode,
                SQLCollation          = createVmModel.sqlconfig == null ? null : createVmModel.sqlconfig.Collation,
                IISBuildOut           = createVmModel.IIsconfig == null ? false : createVmModel.IIsconfig.InstallIis,
                IISServiceRole        = createVmModel.IIsconfig == null ? null : createVmModel.IIsconfig.RoleServices,
                DateSubmitted         = DateTime.UtcNow,
                OSCode                = createVmModel.OsCode,
                AzureApiName          = createVmModel.AzureApiName,
                AzureImagePublisher   = "",
                AzureImageOffer       = "",
                AzureWindowsOSVersion = ""
            };

            var ecsPortalDB     = new ECSPortalDB();
            var ecsSubscription = ecsPortalDB.FetchSubscription(System.Guid.Parse(createVmModel.SubscriptionId));

            // This has been commented out for debugging purposes to remove exceptions occuring due to no ITSM Records.
            // Please uncomment and delete the code below once ITSM has been integrated.
            if (ecsSubscription != null)
            {
                reqRec.OrgFinancialAssetOwner = ecsSubscription.FinancialOwner;
                reqRec.OrgChargebackGroup     = ecsSubscription.ChargeBackGroup;
                reqRec.OrgID = ecsSubscription.OrganizationID;
                reqRec.ITSMResponsibleOwner = ecsSubscription.ResponsibleOwner;
                reqRec.ITSMAccountableOwner = ecsSubscription.CIOwner;
                reqRec.ITSMCIOwner          = ecsSubscription.CIOwner;
            }

            var vmReq = new CmpVmRequest
            {
                RequestRecord = reqRec
            };

            // Insert data to CmpDb
            var cmp           = CmpSvProxy;
            var vmReqResponse = cmp.SubmitToCmp(vmReq);

            createVmModel.CmpRequestId     = vmReqResponse.ID;
            createVmModel.ExceptionMessage = vmReqResponse.ExceptionMessage;

            // Insert data into WapDB
            WapDbContract.InsertVmDepRequest(createVmModel);

            return(createVmModel);
        }