Beispiel #1
0
        private void SetUserNSM(ref UserAuthenticated userAuth, int empID)
        {
            DateTime today = DateTime.UtcNow.ToUtcID();

            IRepository <NSM> repoNSM = _unitOfWork.GetRepository <NSM>();

            repoNSM.Condition = PredicateBuilder.True <NSM>().And(x => x.NIK == empID && x.ValidTo >= today);

            NSM nsm = repoNSM.Find().FirstOrDefault();

            if (nsm == null)
            {
                return;
            }

            userAuth.IsRoleValid = true;
            userAuth.NIK         = nsm.NIK;
            userAuth.Fullname    = nsm.FullName;

            if (nsm.Plant != null)
            {
                // set as kacab
                userAuth.RoleCode = RoleCode.KaCab;
                userAuth.Plant    = nsm.Plant;
            }
        }
        private void CreateEmptyEDMX()
        {
            //get namespace URIs
            string edmxNamespaceURI = NSM.LookupNamespace("edmx");
            string ssdlNamespaceURI = NSM.LookupNamespace("ssdl");
            string csdlNamespaceURI = NSM.LookupNamespace("edm");

            //create the basic structure of the EDMX file wrapper
            XmlElement runtimeElement = _edmxDocument.CreateElement("Runtime", edmxNamespaceURI);

            EDMXDocument.DocumentElement.AppendChild(runtimeElement);

            XmlElement storageModels = _edmxDocument.CreateElement("StorageModels", edmxNamespaceURI);

            runtimeElement.AppendChild(storageModels);

            XmlElement conceptualModels = _edmxDocument.CreateElement("ConceptualModels", edmxNamespaceURI);

            runtimeElement.AppendChild(conceptualModels);

            XmlElement mappingsElement = _edmxDocument.CreateElement("Mappings", edmxNamespaceURI);

            runtimeElement.AppendChild(mappingsElement);

            XmlElement designerElement = _edmxDocument.CreateElement("Designer", edmxNamespaceURI);

            EDMXDocument.DocumentElement.AppendChild(designerElement);
            designerElement.GetOrCreateElement("edmx", "Diagrams", NSM);
        }
        public static string GetPlainString(NSM.ResourceExtensionParameterValue item)
        {
            string str = null;

            bool isPublic = string.Equals(
                item.Type,
                PublicTypeStr,
                StringComparison.OrdinalIgnoreCase);

            if (item != null && isPublic)
            {
                str = item.Value;
            }

            return str;
        }
        public static SecureString GetSecureString(NSM.ResourceExtensionParameterValue item)
        {
            SecureString secureStr = null;

            bool isPrivate = string.Equals(
                item.Type,
                PrivateTypeStr,
                StringComparison.OrdinalIgnoreCase);

            if (item != null && isPrivate)
            {
                secureStr = GetSecureString(item.Value);
            }

            return secureStr;
        }
Beispiel #5
0
        protected NSM GetNsmByUserAuth()
        {
            NSM nsm = null;

            string query = "SELECT DISTINCT nsm.NIK, nsm.FullName, nsm.Email" + System.Environment.NewLine +
                           "FROM RHHeader rhh" + System.Environment.NewLine +
                           "LEFT JOIN NSM nsm ON nsm.NIK = rhh.NSM" + System.Environment.NewLine +
                           "    AND nsm.ValidTo >= GETDATE()" + System.Environment.NewLine +
                           "WHERE 1=1" + System.Environment.NewLine +
                           "    AND rhh.ValidTo >= GETDATE()" + System.Environment.NewLine +
                           "[:CONDITION]";

            string condition = "";
            Dictionary <string, object> dcParams = new Dictionary <string, object>();

            if (RoleCode.ASM.Equals(_userAuth.RoleCode))
            {
                condition       += "	AND rhh.ASM = @nik";
                dcParams["@nik"] = _userAuth.NIK;
            }
            else if (RoleCode.FSS.Equals(_userAuth.RoleCode))
            {
                condition       += "	AND rhh.FSS = @nik";
                dcParams["@nik"] = _userAuth.NIK;
            }

            query = query.Replace("[:CONDITION]", condition);

            string connString = GetConnectionString();

            DataTable dataTable = SqlHelper.ExecuteQuery(connString, query, dcParams);

            if (dataTable == null || dataTable.Rows.Count == 0)
            {
                return(null);
            }

            nsm = new NSM();

            nsm.NIK      = dataTable.Rows[0].IsNull("NIK") ? 0 : Convert.ToInt32(dataTable.Rows[0]["NIK"]);
            nsm.FullName = dataTable.Rows[0].IsNull("FullName") ? null : dataTable.Rows[0]["FullName"].ToString();
            nsm.Email    = dataTable.Rows[0].IsNull("Email") ? null : dataTable.Rows[0]["Email"].ToString();

            return(nsm);
        }
        private async Task SendEmailUpload()
        {
            #region send email
            NSM nsm = GetNsmByUserAuth();

            if (nsm == null)
            {
                return;
            }

            if (nsm.Email == null)
            {
                return;
            }

            DateTime today = DateTime.UtcNow.ToUtcID();

            string subject = EmailConstant.SubjectPrefix + string.Format("Upload Hirarki Sales Oleh {0} ({1})", _userAuth.Fullname, _userAuth.NIK);
            string view    = EmailConstant.ViewHirarkiSalesUploaded;

            List <string> listTo = new List <string>()
            {
                nsm.Email
            };

            Dictionary <string, string> dcParams = new Dictionary <string, string>()
            {
                { "{:FULLNAME}", nsm.FullName },
                { "{:UPLOADER_NIK}", _userAuth.NIK.ToString() },
                { "{:UPLOADER_NAME}", _userAuth.Fullname },
                { "{:FORMATTED_DATE}", today.ToString("yyyy-MM-dd HH:mm") },
            };

            #if !DEBUG
            await _mailService.Send(view, dcParams, subject, listTo);
            #endif
            #endregion
        }
        /// <summary>
        /// Creates dsc extension status object for a virtual machine
        /// </summary>
        /// <param name="vmRole">Details of a role in the deployment</param>
        /// <param name="roleInstance">Details of a specific role instance</param>
        /// <returns></returns>
        internal VirtualMachineDscExtensionStatusContext CreateDscStatusContext(NSM.Role vmRole, NSM.RoleInstance roleInstance) 
        {
            var message = string.Empty;
            var extension = VirtualMachineDscExtensionCmdletBase.ExtensionPublishedNamespace + "." 
                               + VirtualMachineDscExtensionCmdletBase.ExtensionPublishedName;
            NSM.ResourceExtensionConfigurationStatus extensionSettingStatus = null;
            
            if (roleInstance != null && roleInstance.ResourceExtensionStatusList != null)
            {
                foreach (var resourceExtensionStatus in 
                    roleInstance.ResourceExtensionStatusList.Where(
                    resourceExtensionStatus => resourceExtensionStatus.HandlerName.Equals(
                        extension, StringComparison.InvariantCultureIgnoreCase)).
                        Where(resourceExtensionStatus => resourceExtensionStatus.ExtensionSettingStatus != null))
                {
                    extensionSettingStatus = resourceExtensionStatus.ExtensionSettingStatus;

                    if (extensionSettingStatus.SubStatusList == null) continue;
                    var resourceExtensionSubStatusList = extensionSettingStatus.SubStatusList;
                    var resourceExtensionSubStatus = resourceExtensionSubStatusList.FirstOrDefault();
                    if (resourceExtensionSubStatus == null || resourceExtensionSubStatus.FormattedMessage == null ||
                        resourceExtensionSubStatus.FormattedMessage.Message == null) continue;
                    message = resourceExtensionSubStatus.FormattedMessage.Message.ToString(CultureInfo.CurrentUICulture);
                    break;
                }
            }

            if (extensionSettingStatus == null)
                return null;

            var dscStatusContext = new VirtualMachineDscExtensionStatusContext
            {
                ServiceName = Service,
                Name = vmRole == null ? string.Empty : vmRole.RoleName,
                Status = extensionSettingStatus.Status ?? string.Empty,
                StatusCode = extensionSettingStatus.Code ?? -1,
                StatusMessage = (extensionSettingStatus.FormattedMessage == null || 
                    extensionSettingStatus.FormattedMessage.Message == null) ? string.Empty : 
                    extensionSettingStatus.FormattedMessage.Message.ToString(CultureInfo.CurrentUICulture),
                DscConfigurationLog = !string.Empty.Equals(message) ? message.Split(new[] { "\r\n", "\n" }, StringSplitOptions.None) : new List<String>().ToArray(),
                Timestamp = extensionSettingStatus.Timestamp == null ? DateTime.MinValue : extensionSettingStatus.Timestamp.Value
            };
            return dscStatusContext;
        }
        /// <summary>
        /// Retrieves dsc extension status for all virtual machine's in a cloud service or a given virtual machine from the deployment object
        /// </summary>
        /// <param name="deployment">Deployment that exists in the service</param>
        /// <returns></returns>
        internal List<VirtualMachineDscExtensionStatusContext> GetVirtualMachineDscStatusContextList(NSM.DeploymentGetResponse deployment)
        {
            var vmDscStatusContexts = new List<VirtualMachineDscExtensionStatusContext>();
            
            //filter the deployment info for a vm, if specified. 
            var vmRoles = new List<NSM.Role>(deployment.Roles.Where(
                r => (string.IsNullOrEmpty(Name) && string.IsNullOrEmpty(VmName))
                  || r.RoleName.Equals(Name, StringComparison.InvariantCultureIgnoreCase) 
                  || r.RoleName.Equals(VmName, StringComparison.InvariantCultureIgnoreCase)));

            foreach (var vm in vmRoles)
            {
                var roleInstance = deployment.RoleInstances.FirstOrDefault(
                    r => r.RoleName == vm.RoleName);

                if (roleInstance == null)
                {
                    WriteWarning(
                        string.Format(CultureInfo.CurrentUICulture, Resources.RoleInstanceCanNotBeFoundWithName, vm.RoleName));
                }

                var vmDscStatusContext = CreateDscStatusContext(
                    vm,
                    roleInstance);

                if (vmDscStatusContext != null)
                    vmDscStatusContexts.Add(vmDscStatusContext);
            }

            return vmDscStatusContexts;
        }
 private List<NSM.ResourceExtensionSubStatus> CreateResourceExtensionSubStatus(int code,
     NSM.GuestAgentFormattedMessage formattedMessage)
 {
     var resourceExtensionSubStatusList = new List<NSM.ResourceExtensionSubStatus>();
     var resourceExtensionSubStatus = new NSM.ResourceExtensionSubStatus
     {
         Code = code,
         FormattedMessage = formattedMessage,
         Status = "Success",
         Name = "DSC Status"
     };
     resourceExtensionSubStatusList.Add(resourceExtensionSubStatus);
     return resourceExtensionSubStatusList;
 }