コード例 #1
0
        public ActionResult Add(DSRCManagementSystem.Models.Expenditure objmodel)
        {
            DSRCManagementSystemEntities1 objdb = new DSRCManagementSystemEntities1();
            string ServerName = AppValue.GetFromMailAddress("ServerName");

            DSRCManagementSystem.Expenditure obj = new DSRCManagementSystem.Expenditure();
            try
            {
                obj.ExpenseDescription = objmodel.ExpenseDescription.Trim();
                obj.ExpenseDate        = objmodel.ExpenseDate;
                obj.ExpenseAmount      = objmodel.ExpenseAmount;
                obj.CreatedAt          = Convert.ToDateTime(objmodel.ScheduleDate);
                obj.IsActive           = true;
                objdb.AddToExpenditures(obj);
                objdb.SaveChanges();


                var      ExpenseDes  = objmodel.ExpenseDescription.Trim();
                DateTime?Expensedate = objmodel.ExpenseDate;
                var      Expense     = objmodel.ExpenseAmount;
                int      userId      = int.Parse(Session["UserID"].ToString());
                var      createdby   = objdb.Users.Where(x => x.UserID == userId).Select(o => o.FirstName + " " + o.LastName).FirstOrDefault();
                var      FromEmailID = objdb.Users.Where(x => x.UserID == userId).Select(o => o.UserName).FirstOrDefault();
                var      Getmailid   = objdb.Users.Where(x => x.UserID == 1).Select(o => o.EmailAddress).FirstOrDefault();
                var      GetName     = objdb.Users.Where(x => x.UserID == 1).Select(o => o.FirstName + " " + o.LastName).FirstOrDefault();

                var objcom = objdb.Master_ApplicationSettings.Where(x => x.AppKey == "Company Name")
                             .Select(o => o.AppValue)
                             .FirstOrDefault();
                var check  = objdb.EmailTemplates.Where(x => x.TemplatePurpose == "Add Expense").Select(o => o.EmailTemplateID).FirstOrDefault();
                var folder = objdb.EmailTemplates.Where(x => x.TemplatePurpose == "Add Expense").Select(o => o.TemplatePath).FirstOrDefault();
                if ((check != null) && (check != 0))
                {
                    var obj1 = (from p in objdb.EmailPurposes.Where(x => x.EmailPurposeName == "Add Expense")
                                join q in objdb.EmailTemplates on p.EmailTemplateID equals q.EmailTemplateID
                                select new DSRCManagementSystem.Models.Email
                    {
                        To = p.To,
                        CC = p.CC,
                        BCC = p.BCC,
                        Subject = p.Subject,
                        Template = q.TemplatePath
                    }).FirstOrDefault();

                    string TemplatePath = Server.MapPath(obj1.Template);
                    string html         = System.IO.File.ReadAllText(TemplatePath);

                    string Subject = "Expense Added on " + DateTime.Today.ToString("dd MMM yyyy");
                    obj1.Subject = " " + objcom + " Management Portal-New Expense Added";


                    html = html.Replace("#ExpenseDescription", ExpenseDes);
                    html = html.Replace("#Date", DateTime.Today.ToString("dd MMM yyyy"));
                    html = html.Replace("#ExpenseDate", Expensedate.ToString().Substring(0, 10));
                    html = html.Replace("#ExpenseAmount", Expense.ToString());
                    html = html.Replace("#CompanyName", objcom.ToString());
                    html = html.Replace("#ServerName", ServerName);
                    List <string> MailIds      = objdb.TestMailIDs.Select(o => o.MailAddress).ToList();
                    string        EmailAddress = "";

                    foreach (string mail in MailIds)
                    {
                        EmailAddress += mail + ",";
                    }
                    EmailAddress = EmailAddress.Remove(EmailAddress.Length - 1);
                    if (ServerName != "http://*****:*****@dsrc.co.in", EmailAddress, Server.MapPath(pathvalue.ToString()));
                        });
                    }
                    else
                    {
                        Task.Factory.StartNew(() =>
                        {
                            string pathvalue = CommonLogic.getLogoPath();
                            DsrcMailSystem.MailSender.TaskMail(null, Subject, html, "*****@*****.**", EmailAddress, Server.MapPath(pathvalue.ToString()));
                        });
                    }
                }
                else
                {
                    ExceptionHandlingController.TemplateMissing("Add Expense", folder, ServerName);
                }
            }

            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }

            return(Json(new { Result = "Success", URL = @Url.Action("AlertPopUp", "Popup") }, JsonRequestBehavior.AllowGet));
        }