Ejemplo n.º 1
0
        public async Task Working_Hrs_Details_For_Particular_Date(IDialogContext context, IAwaitable <object> result)
        {
            try
            {
                var get_date = await result as Activity;
                date = DateTime.Parse(get_date.Text);
                var activity        = await result as Activity;
                var token           = "ok";
                var empID           = context.UserData.GetValue <int>("empID");
                var in_out_details  = new InOutTimeWorkingHrsClient();
                var in_out_response = await in_out_details.InOutTimeWorkingHrsDetails(token, empID, date);

                if (in_out_response.ResponseJSON != null && in_out_response.ResponseJSON.AttendanceDate != null)
                {
                    var data = new InOutTimeWorkingHrsModel();
                    data.ResponseJSON = in_out_response.ResponseJSON;
                    await context.PostAsync(
                        $"**DATE**:{DateTime.Parse(data.ResponseJSON.AttendanceDate).ToLongDateString()}<br>" +
                        $"**Net-Working-Hrs**:{data.ResponseJSON.WorkingHours}\n\n" +
                        $"**Break-Time**:{data.ResponseJSON.BreakTime}\n\n" +
                        $"**Gross-Hrs**:{data.ResponseJSON.TotalHours}\n\n");
                }



                else
                {
                    await context.PostAsync("Data Not found");
                }
            }
            catch (Exception ex)
            {
                string        filePath = AppDomain.CurrentDomain.BaseDirectory;
                StringBuilder sb       = new StringBuilder();
                sb.Append("InnerException : " + ex.InnerException);
                sb.Append("Total gross Hours");
                sb.Append(Environment.NewLine);
                sb.Append("Message : " + ex.Message);
                sb.Append(Environment.NewLine);
                System.IO.File.AppendAllText(System.IO.Path.Combine(filePath, "Exception_log.txt"), sb.ToString());
                sb.Clear();
                await context.PostAsync("Data not found");

                context.Done(true);
            }
            context.Done(true);
        }
        public async Task In_Out_Details_For_Particular_Date(IDialogContext context, IAwaitable <object> result)
        {
            try
            {
                var get_date = await result as Activity;
                date = DateTime.Parse(get_date.Text);
                var activity = await result as Activity;
                // StateClient stateClient = activity.GetStateClient();
                // BotData userData = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);
                // if (userData != null && userData.Data != null)
                // {
                // var obj = JObject.Parse(userData.Data.ToString());
                //  var token = (string)obj["Authorization_Token_Attendance"];
                var token = "ok";

                //  if (token != null)
                //   {
                // StateClient empCode1 = activity.GetStateClient();
                //BotData empCodeu = await empCode1.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);
                // var ob = JObject.Parse(empCodeu.Data.ToString());
                // var empID = (int)obj["empID"];
                var empID           = context.UserData.GetValue <string>("empID");
                var in_out_details  = new InOutTimeWorkingHrsClient();
                var in_out_response = await in_out_details.InOutTimeWorkingHrsDetails(token, Convert.ToInt32(empID), date);

                if (in_out_response.ResponseJSON != null && !string.IsNullOrWhiteSpace(in_out_response.ResponseJSON.AttendanceDate))
                {
                    if (!string.IsNullOrWhiteSpace(in_out_response.ResponseJSON.InTime) && !string.IsNullOrWhiteSpace(in_out_response.ResponseJSON.OutTime))
                    {
                        var data = new InOutTimeWorkingHrsModel();
                        data.ResponseJSON = in_out_response.ResponseJSON;

                        await context.PostAsync($"**DATE**:{DateTime.Parse(data.ResponseJSON.AttendanceDate).ToLongDateString()}<br>" +
                                                $"**In-Time**:{DateTime.Parse(data.ResponseJSON.InTime).ToLongTimeString()}<br>" +
                                                $"**Out-Time**:{DateTime.Parse(data.ResponseJSON.OutTime).ToLongTimeString()}<br>");

                        context.Done(true);
                    }
                    else
                    {
                        await context.PostAsync($"{DateTime.Parse(in_out_response.ResponseJSON.AttendanceDate).ToLongTimeString()}<br>" + "This day was holiday or leave taken");

                        context.Done(true);
                    }
                }

                else
                {
                    await context.PostAsync("Data Not found");
                }

                //    }
                //    else
                //    {
                //        await context.PostAsync("Need to Login to access data");
                //        //context.Call(new UserLogin(), ResumeAfteNullToken);
                //        await context.PostAsync("Please Type **'Hello'** to Login ");

                //    }


                //}
                //else
                //{
                //    await context.PostAsync("Please Type **'Hello'** to Login ");
                //}
            }
            catch (Exception ex)
            {
                string        filePath = AppDomain.CurrentDomain.BaseDirectory;
                StringBuilder sb       = new StringBuilder();
                sb.Append("InnerException : " + ex.InnerException);
                sb.Append(Environment.NewLine);
                sb.Append("Message : " + ex.Message);
                sb.Append(Environment.NewLine);
                System.IO.File.AppendAllText(System.IO.Path.Combine(filePath, "Exception_log.txt"), sb.ToString());
                sb.Clear();
                await context.PostAsync("Data Not found");

                context.Done(true);
            }
        }