Exemplo n.º 1
0
        public void UpdateAgent(AgentDataNew agent, int?idprofile)
        {
            if (idprofile == null)
            {
                return;
            }

            var payeeid = int.Parse(agent.PayeeID,
                                    NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite); // returns 100

            var dao  = new LogAgentDataUpdateDao();
            var data = dao.FindById(payeeid);

            if (data != null)
            {
                //update
                var requestdata  = RequestBody(agent);
                var taspenApi    = new TaspenApi();
                var responsedata = taspenApi.UpdateAgent(requestdata, (int)idprofile);

                data.REQUESTDATA  = requestdata;
                data.RESPONSEDATA = responsedata;
                data.CREATEDDATE  = DateTime.Now;
                dao.Update(data);
            }
            else
            {
                //create new
                var requestdata  = RequestBody(agent);
                var taspenApi    = new TaspenApi();
                var responsedata = taspenApi.UpdateAgent(requestdata, (int)idprofile);

                data              = new LogAgentDataUpdate();
                data.IDAGENT      = payeeid;
                data.REQUESTDATA  = requestdata;
                data.RESPONSEDATA = responsedata;
                data.CREATEDDATE  = DateTime.Now;
                dao.Create(data);
            }

            LogAgentDataUpdateHistoryDao historyDao = new LogAgentDataUpdateHistoryDao();
            var history = new LogAgentDataUpdateHistory();

            history.IDAGENT      = data.IDAGENT;
            history.REQUESTDATA  = data.REQUESTDATA;
            history.RESPONSEDATA = data.RESPONSEDATA;
            history.CREATEDDATE  = DateTime.Now;
            historyDao.Create(history);
        }
Exemplo n.º 2
0
        private void ProcessData(AgentDataNew agent)
        {
            var requestdata = RequestBody(agent);

            Console.WriteLine("requestdata :: " + requestdata);
            if (requestdata == null)
            {
                return;
            }

            int?idprofile    = null;
            var taspenApi    = new TaspenApi();
            var responsedata = taspenApi.CreateNewAgent(requestdata);

            Console.WriteLine("responsedata :: " + responsedata);
            if (responsedata != null)
            {
                var agentDto = JsonConvert.DeserializeObject <AgentDto>(responsedata);
                if (agentDto?.listAgentProfile != null)
                {
                    idprofile = agentDto.listAgentProfile.id;
                }
            }

            var payeeid = int.Parse(agent.PayeeID, NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);

            var data = new LogAgentDataNew()
            {
                IDAGENT      = payeeid,
                CREATEDDATE  = DateTime.Now,
                REQUESTDATA  = requestdata,
                RESPONSEDATA = responsedata,
                IDPROFILE    = idprofile
            };

            Console.WriteLine("IDAGENT : " + payeeid);
            Console.WriteLine("IDPROFILE : " + idprofile);
            var logDao = new LogAgentDataNewDao();

            logDao.Create(data);
        }
Exemplo n.º 3
0
        public List <AgentDataNew> GetListAgentDelete()
        {
            SqlConnectionStringBuilder builder = ConnectionStringBuilder.GetConnectionStringBuilder();

            try
            {
                //sql connection object
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    //retrieve the SQL Server instance version
                    var query = @"SELECT e.PayeeID, e.Name, e.JoinDate, e.Title, e.EmailAddress,
                    e.Address, e.RecruitBy, e.RecruiterName, e.AMCode, e.AMName, 
                    e.SAMCode, e.SAMName, e.ADCode, e.ADNAme, e.GAOfficeCode, 
                    e.GAOfficeName, e.PERSON_ID, e.LicenseID, e.Phone, e.EmployeeStatus,
                    e.TerminationComments, e.AccountNo, e.BankCode, e.ExpiryDate, e.TerminationDate,
                    e.CreatedDate, e.UpdatedDate, e.DeletedDate 
                    FROM AGENTDATANEW e
                    WHERE e.CreatedDate IS NOT NULL AND e.UpdatedDate IS NOT NULL AND e.DeletedDate IS NOT NULL
                    ORDER BY e.DeletedDate DESC ;";
                    //define the SqlCommand object
                    SqlCommand cmd = new SqlCommand(query, connection);

                    //open connection
                    connection.Open();

                    //execute the SQLCommand
                    SqlDataReader dr = cmd.ExecuteReader();



                    //check if there are records
                    List <AgentDataNew> result = new List <AgentDataNew>();
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            AgentDataNew data = new AgentDataNew();

                            data.PayeeID             = SafeGetString(dr, 0);
                            data.Name                = SafeGetString(dr, 1);
                            data.JoinDate            = SafeGetDatetime(dr, 2);
                            data.Title               = SafeGetString(dr, 3);
                            data.EmailAddress        = SafeGetString(dr, 4);
                            data.Address             = SafeGetString(dr, 5);
                            data.RecruitBy           = SafeGetString(dr, 6);
                            data.RecruiterName       = SafeGetString(dr, 7);
                            data.AMCode              = SafeGetString(dr, 8);
                            data.AMName              = SafeGetString(dr, 9);
                            data.SAMCode             = SafeGetString(dr, 10);
                            data.SAMName             = SafeGetString(dr, 11);
                            data.ADCode              = SafeGetString(dr, 12);
                            data.ADNAme              = SafeGetString(dr, 13);
                            data.GAOfficeCode        = SafeGetString(dr, 14);
                            data.GAOfficeName        = SafeGetString(dr, 15);
                            data.PERSON_ID           = SafeGetString(dr, 16);
                            data.LicenseID           = SafeGetString(dr, 17);
                            data.Phone               = SafeGetString(dr, 18);
                            data.EmployeeStatus      = SafeGetString(dr, 19);
                            data.TerminationComments = SafeGetString(dr, 20);
                            data.AccountNo           = SafeGetString(dr, 21);
                            data.BankCode            = SafeGetString(dr, 22);
                            data.ExpiryDate          = SafeGetDatetime(dr, 23);
                            data.TerminationDate     = SafeGetDatetime(dr, 24);
                            data.CreatedDate         = SafeGetDatetime(dr, 25);
                            data.UpdatedDate         = SafeGetDatetime(dr, 26);
                            data.DeletedDate         = SafeGetDatetime(dr, 27);

                            result.Add(data);
                        }
                    }


                    //close data reader
                    dr.Close();

                    //close connection
                    connection.Close();
                    if (result.Count > 0)
                    {
                        return(result);
                    }
                }
            }
            catch (Exception ex)
            {
                //display error message
                Console.WriteLine("Exception: " + ex.Message);
            }

            return(null);
        }
Exemplo n.º 4
0
        private string RequestBody(AgentDataNew agent)
        {
            var payeeid = int.Parse(agent.PayeeID, NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);

            var nameAgentPosition   = agent.Title;
            var taspenApi           = new TaspenApi();
            var resultAgentPosition = taspenApi.SearchAgentPosition(nameAgentPosition);
            var agentPositionDto    = JsonConvert.DeserializeObject <AgentPositionDto>(resultAgentPosition);

            if (agentPositionDto == null)
            {
                return(null);
            }

            Console.WriteLine("agentPositionDto - ok :: " + nameAgentPosition);
            if (agentPositionDto.PositionMetaDto?.PositionMetaPaginationDto == null ||
                agentPositionDto.PositionMetaDto.PositionMetaPaginationDto.Total == 0)
            {
                return(null);
            }

            Console.WriteLine("PositionMetaPaginationDto - ok");
            var positionAgentDto = agentPositionDto.ListAgentPosition.FirstOrDefault();

            if (positionAgentDto == null)
            {
                return(null);
            }

            var licenseExpireAt = agent.ExpiryDate != null
                ? agent.ExpiryDate.GetValueOrDefault().ToString("yyyy-MM-dd")
                : "-";

            // var licenseExpireAt = agent.ExpiryDate;
            Console.WriteLine("licenseExpireAt --> " + licenseExpireAt);
            Console.WriteLine("payeeid --> " + payeeid);
            var licenseNumber = agent.LicenseID != null && agent.LicenseID.Trim().Length > 0
                ? agent.LicenseID : "-";

            var licenseStatus = "";

            if (agent.EmployeeStatus != null && agent.EmployeeStatus.StartsWith("A") && licenseNumber != null &&
                !"-".Equals(licenseNumber) && !"-".Equals(licenseExpireAt))
            {
                licenseStatus = "valid";
            }

            var dto = new AgentNewPayloadDTO
            {
                instanceId = taspenApi.FindByInstanceProfileName("JAKARTA"),
                code       = agent.PayeeID,
                name       = agent.Name,
                // address = agent.Address,
                //20 Sept 2021: Address diganti GA Office Name
                address         = agent.GAOfficeName != null && agent.GAOfficeName.Trim().Length > 0 ? agent.GAOfficeName : "",
                phone           = agent.Phone != null && agent.Phone.Trim().Length > 0 ? agent.Phone : "-",
                email           = agent.EmailAddress != null && agent.EmailAddress.Trim().Length > 0 ? agent.EmailAddress : "-",
                positionId      = positionAgentDto.Id,
                licenseNumber   = licenseNumber,
                licenseDate     = "-",
                licenseExpireAt = licenseExpireAt,
                licenseStatus   = licenseStatus
            };


            var payload = new AgentNewPayload {
                agentProfile = dto
            };

            var jsonString = JsonConvert.SerializeObject(payload);

            return(jsonString);
        }
Exemplo n.º 5
0
        private string RequestBody(AgentDataNew agent)
        {
            var nameAgentPosition = agent.Title;
            var taspenApi         = new TaspenApi();

            var resultAgentPosition = taspenApi.SearchAgentPosition(nameAgentPosition);
            var agentPositionDto    = JsonConvert.DeserializeObject <AgentPositionDto>(resultAgentPosition);

            if (agentPositionDto == null)
            {
                return(null);
            }

            if (agentPositionDto.PositionMetaDto?.PositionMetaPaginationDto == null ||
                agentPositionDto.PositionMetaDto.PositionMetaPaginationDto.Total == 0)
            {
                return(null);
            }

            var positionAgentDto = agentPositionDto.ListAgentPosition.FirstOrDefault();

            if (positionAgentDto == null)
            {
                return(null);
            }

            var licenseExpireAt = agent.ExpiryDate != null
                ? agent.ExpiryDate.GetValueOrDefault().ToString("yyyy-MM-dd")
                : "-";

            // var licenseExpireAt = agent.ExpiryDate;
            var licenseNumber = agent.LicenseID != null && agent.LicenseID.Trim().Length > 0
                ? agent.LicenseID : "-";

            var licenseStatus = "";

            if (agent.EmployeeStatus != null && agent.EmployeeStatus.StartsWith("A") && licenseNumber != null &&
                !"-".Equals(licenseNumber) && !"-".Equals(licenseExpireAt))
            {
                licenseStatus = "valid";
            }

            var dto = new AgentNewPayloadDTO();

            dto.instanceId = 2; //TODO (saat ini di set default = 2)
            dto.code       = agent.PayeeID;
            dto.name       = agent.Name;
            // dto.address = agent.Address;
            // address = agent.Address,
            //20 Sept 2021: Address diganti GA Office Name
            dto.address         = agent.GAOfficeName != null && agent.GAOfficeName.Trim().Length > 0 ? agent.GAOfficeName : "";
            dto.phone           = agent.Phone != null && agent.Phone.Trim().Length > 0 ? agent.Phone : "-";
            dto.email           = agent.EmailAddress != null && agent.EmailAddress.Trim().Length > 0 ? agent.EmailAddress : "-";
            dto.positionId      = positionAgentDto.Id; //TODO
            dto.licenseNumber   = licenseNumber;
            dto.licenseDate     = "-";
            dto.licenseExpireAt = licenseExpireAt;
            dto.licenseStatus   = licenseStatus;

            Console.WriteLine("licenseExpireAt --> " + licenseExpireAt);
            Console.WriteLine("code --> " + dto.code);

            var payload = new AgentNewPayload();

            payload.agentProfile = dto;

            var jsonString = JsonConvert.SerializeObject(payload);

            return(jsonString);
        }