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)); } }
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); }