public JsonResult ParamUpdate(ParamOperation parmOperation)
        {
            ChatParameter param      = parmOperation.param;
            string        operation  = parmOperation.Operation;
            ChatParameter finalParam = new ChatParameter();
            bool          changed    = false;

            param.UpdatedDate = DateTime.UtcNow;
            try
            {
                if (operation == "a")
                {
                    finalParam.ParameterName  = param.ParameterName;
                    finalParam.ParameterValue = param.ParameterValue;
                    finalParam.UpdatedDate    = DateTime.Now;
                    db.ChatParameter.Add(finalParam);
                }
                else if (operation == "u")
                {
                    finalParam = db.ChatParameter.Where(x => x.ParameterId == param.ParameterId).FirstOrDefault();
                    finalParam.ParameterName  = param.ParameterName;
                    finalParam.ParameterValue = param.ParameterValue;
                    finalParam.UpdatedDate    = DateTime.Now;
                }
                else
                {
                    finalParam = db.ChatParameter.Where(x => x.ParameterId == param.ParameterId).FirstOrDefault();
                    db.ChatParameter.Attach(finalParam);
                    db.ChatParameter.Remove(finalParam);
                }
                changed = true;
                db.SaveChanges();
                return(Json(changed, JsonRequestBehavior.AllowGet));
            }

            catch (Exception e)

            {
                Console.WriteLine(e.Message);
                return(Json(changed, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #2
0
        public int AddTouchPointLogRecord(int LoginUserID, int UserID, string LoginUserInstallID, DateTime now,
                                          string ChangeLog, string strGUID, int touchPointSource, int?taskId, int?multiLevelTaskId)
        {
            ChatParameter para = InstallUserDAL.Instance.GetChatParametersByUser(UserID, LoginUserID, taskId, multiLevelTaskId);

            var LastUserTouchPoint = InstallUserDAL.Instance.GetUserTouchPointLogs(0, 1, UserID).Data;

            ChatDAL.Instance.SaveChatMessage(new ChatMessage
            {
                ChatGroupId          = para.ChatGroupId,
                ChatSourceId         = touchPointSource,
                FileId               = null,
                IsRead               = false,
                Message              = ChangeLog,
                MessageAt            = DateTime.Now.ToEST(),
                ReceiverIds          = para.ReceiverIds,
                TaskId               = taskId,
                TaskMultilevelListId = multiLevelTaskId,
                UserChatGroupId      = para.UserChatGroupId,
                UserId               = UserID
            }, para.ChatGroupId, para.ReceiverIds, LoginUserID);

            int UserTouchPointLogID = 0;
            //int UserTouchPointLogID = InstallUserDAL.Instance.AddTouchPointLogRecord(LoginUserID, UserID, LoginUserInstallID, now, ChangeLog, strGUID, touchPointSource);
            // Send email to User / Recruiter
            // Get Html Template
            string messageUrl = string.Empty, toEmail = string.Empty, body = string.Empty;
            string baseUrl               = System.Web.HttpContext.Current.Request.Url.Scheme + "://" + System.Web.HttpContext.Current.Request.Url.Authority + System.Web.HttpContext.Current.Request.ApplicationPath.TrimEnd('/') + "/";
            DesignationHTMLTemplate html = HTMLTemplateBLL.Instance.GetDesignationHTMLTemplate(HTMLTemplates.HR_EditSales_TouchpointLog_Email, "");
            // sender details
            var    sender = getuserdetails(LoginUserID).Tables[0].Rows[0];
            string pic    = string.IsNullOrEmpty(sender["Picture"].ToString()) ? "default.jpg"
                                : sender["Picture"].ToString().Replace("~/UploadeProfile/", "");

            pic       = baseUrl + "Employee/ProfilePictures/" + pic;
            html.Body = html.Body.Replace("{ImageUrl}", pic);
            html.Body = html.Body.Replace("{Name}", sender["FristName"].ToString() + " " + sender["LastName"].ToString());
            html.Body = html.Body.Replace("{Designation}", sender["Designation"].ToString());
            html.Body = html.Body.Replace("{UserInstallID}", sender["UserInstallID"].ToString());
            html.Body = html.Body.Replace("{ProfileUrl}", baseUrl + "Sr_App/ViewSalesUser.aspx?id=" + sender["Id"].ToString());
            html.Body = html.Body.Replace("{MessageContent}", ChangeLog.Replace("Note :", "").Trim());
            //

            // Generate auto login code
            string loginCode = InstallUserDAL.Instance.GenerateLoginCode(UserID).Object;


            if (LastUserTouchPoint == null && LoginUserID == UserID) // first entry
            {
                // send email to recruiter
                toEmail    = "*****@*****.**";
                messageUrl = baseUrl + "Sr_App/edituser.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID + "&auth=" + loginCode;
            }
            else if (LastUserTouchPoint != null && LastUserTouchPoint.Count() > 0 && LoginUserID == UserID) // send email to receiver
            {
                // send email to user
                var lastSender = getuserdetails(LastUserTouchPoint.First().UpdatedByUserID).Tables[0].Rows[0];
                if (Convert.ToInt32(lastSender["Id"]) == UserID)
                {
                    toEmail    = lastSender["Email"].ToString();
                    messageUrl = baseUrl + "Sr_App/TouchPointLog.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID + "&auth=" + loginCode +
                                 "&ugid=" + para.UserChatGroupId;
                }
                else
                {
                    toEmail    = lastSender["Email"].ToString();
                    messageUrl = baseUrl + "Sr_App/edituser.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID +
                                 "&auth=" + loginCode + "&ugid=" + para.UserChatGroupId;
                }
            }
            else
            {
                var receiver = getuserdetails(UserID).Tables[0].Rows[0];
                // send email to user
                toEmail    = receiver["Email"].ToString();
                messageUrl = baseUrl + "Sr_App/TouchPointLog.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID +
                             "&auth=" + loginCode + "&ugid=" + para.UserChatGroupId;
            }
            body = (html.Header + html.Body + html.Footer).Replace("{MessageUrl}", messageUrl);

            EmailManager.SendEmail(JGConstant.EmailTypes.ChatMessage.ToString(), "Touch Point Log", toEmail, html.Subject, body, null);

            // find all emails
            List <string> emails = new List <string>();

            // emails.Add(toEmail);
            string[] allWords = ChangeLog.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var item in allWords)
            {
                switch (item.Trim().ToLower().Substring(0, item.IndexOf(' ')))
                {
                case "justin":
                    if (toEmail != "*****@*****.**")
                    {
                        emails.Add("*****@*****.**");    //321
                    }
                    // add touch point note entry
                    break;

                case "yogesh":
                    if (toEmail != "*****@*****.**")
                    {
                        emails.Add("*****@*****.**");    //901
                    }
                    break;

                default:
                    break;
                }
            }
            if (emails.Count > 1)
            {
                foreach (var item in emails.Distinct())
                {
                    switch (item)
                    {
                    case "*****@*****.**":
                        UserTouchPointLogID = InstallUserDAL.Instance.AddTouchPointLogRecord(LoginUserID, 321, LoginUserInstallID, now, ChangeLog, strGUID, touchPointSource);
                        messageUrl          = baseUrl + "Sr_App/TouchPointLog.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID + "&auth=" + loginCode + "&ugid=" + para.UserChatGroupId;
                        body = (html.Header + html.Body + html.Footer).Replace("{MessageUrl}", messageUrl);
                        EmailManager.SendEmail(JGConstant.EmailTypes.None.ToString(), "Touch Point Log", item, html.Subject, body, null);
                        break;

                    case "*****@*****.**":
                        UserTouchPointLogID = InstallUserDAL.Instance.AddTouchPointLogRecord(LoginUserID, 901, LoginUserInstallID, now, ChangeLog, strGUID, touchPointSource);
                        messageUrl          = baseUrl + "Sr_App/TouchPointLog.aspx?TUID=" + UserID + "&NID=" + UserTouchPointLogID + "&auth=" + loginCode + "&ugid=" + para.UserChatGroupId;
                        body = (html.Header + html.Body + html.Footer).Replace("{MessageUrl}", messageUrl);
                        EmailManager.SendEmail(JGConstant.EmailTypes.None.ToString(), "Touch Point Log", item, html.Subject, body, null);
                        break;

                    default:
                        break;
                    }
                }
            }
            return(UserTouchPointLogID);
        }