Esempio n. 1
0
 public ActionResult Index()
 {
     var user = UserHelper.GetUserByEmail(User.Identity.Name);
     var userUsedDiskSpase = UserHelper.GetUserUsedDiskSpase(user.Id);
     var Redactors = RedactorsHelper.GetAllRedactors(user); ;
     var tables = userRepository.Find(u => u.Id == user.Id).TableModels.Where(t => t.AdministratorId_Id == user.Id).ToList();
     var unitsHelper = new UnitsHelper(); 
     //var redactors
     int userExist = 0;
     var unitInfo = unitsHelper.GetUnitInfo();
     if (Redactors != null && Redactors.Count > 0)
     {
         userExist = Redactors.Count;
     }
     ProfileViewModel profile = new ProfileViewModel
     {
         Email = user.Email,
         Role = user.AspNetUserRoles.Where(r => r.UserId == user.Id).First().AspNetRoles.Name,
         Balance = 100,
         DaysEnough = 15,
         Units = user.Units,
         UsedDiskSpace = userUsedDiskSpase / 1048576,
         EmailsExist = user.EmailsParsed,
         EmailsLimit = unitInfo.LimitOfParsingEmails*user.Units,
         FullDiskSpase = unitInfo.LimitOfDiskSpase * user.Units,
         PercentageOfSpaceUsedOnTheDrive = userUsedDiskSpase / 1073741824 * 100 / unitInfo.LimitOfDiskSpase * user.Units,
         UsersExist = userExist,
         UsersLimit = unitInfo.Redactors * user.Units
     };
     return View(profile);
 
 }
Esempio n. 2
0
        public void Receive(MailinData data)
        {
            try
            {
                var user = usersRepository.Find(w => w.CloudmailinEmail.Equals(data.Envelope.To));
                var unitsHelper = new UnitsHelper();
                if (user != null)
                {
                    if (UserHelper.GetUserUsedDiskSpase(user.Id) / 1073741824 < unitsHelper.GetLimitOfDiskSpase(user.Units))
                    {
                      //  AddLog("Second if: ");
                        var lastEmail = emailsRepository.FindAll(e => e.User_Id == user.Id).Last();
                     //   AddLog("lastEmail.Id: " + lastEmail.Id);
                        if (lastEmail != null)
                        {
                            if (lastEmail.Date.Month != DateTime.Now.Month)
                            {
                                user.EmailsParsed = 1;
                            }
                            else if (user.EmailsParsed < unitsHelper.GetLimitOfEmails(user.Units))
                            {
                                user.EmailsParsed += 1;
                            }
                            else
                            {
                                return;
                            }
                        }
                        else
                        {
                          //  AddLog("5");
                            user.EmailsParsed = 1;
                        }
                    }
                    else
                    {
                      //  AddLog("6");
                        return;
                    }
                    List<Model.AttachmentModels> Attachment = new List<Model.AttachmentModels>();

                    if (data.Attachments != null)
                    {
                      //  AddLog("1");
                        foreach (var emailAttachments in data.Attachments)
                        {
                            Model.AttachmentModels attachment = new Model.AttachmentModels();
                            if (emailAttachments.Content != null)
                            {
                                string path = @"D:\home\site\wwwroot\App_Data\UploadTemp\" + emailAttachments.File_Name;
                                System.IO.File.WriteAllBytes(path, emailAttachments.Content);
                                attachment.Name = emailAttachments.File_Name;
                                attachment.Size = emailAttachments.Size;
                                Attachment.Add(attachment);
                            }
                        }
                     //   AddLog("2");
                    }

                    var emailSize = data.Html.Length * 4;
                    emailSize += data.Plain.Length * 4;
                    emailSize += data.Envelope.From.Length * 4;
                    emailSize += data.Headers.Subject.Length * 4;

                    Model.EmailModels Email = new Model.EmailModels
                    {
                        From = HttpUtility.HtmlEncode(data.Envelope.From),
                        Subject = HttpUtility.HtmlEncode(data.Headers.Subject),
                        Date = data.Headers.Date,
                        Content = data.Plain,
                        ContentHtml = data.Html,
                        User_Id = user.Id,
                        EmailSize = emailSize
                    };

                    try
                    {
                        emailsRepository.Add(Email);
                        emailsRepository.Commit();
                    }
                    catch(Exception ex)
                    {
                        AddLog("emailsRepository.Commit(): " + ex.Message);
                    }
                    if (Attachment != null && Attachment.Count > 0)
                    {
                        foreach (var attachment in Attachment)
                        {
                            attachment.EmailModels_Id = Email.Id;
                            attachmentsRepository.Add(attachment);
                        }
                        try
                        {
                            attachmentsRepository.Commit();
                        }
                        catch (Exception ex)
                        {
                            AddLog(" attachmentsRepository.Commit(): " + ex.Message);
                        }
                    }
                    UserHelper.newEmailWasRiceived = true;
                  //  AddLog("3");
                    var brandNewEmailId = emailsRepository.GetBrandNew(w => w.Date.Equals(data.Headers.Date)).Id;
                  //  AddLog("4");
                    ParseHelper.TryToParseEmail(brandNewEmailId, user.Id);
                }
            }
            catch(Exception ex)
            {
                    AddLog("Receive(): " + ex.Message);
            }
        }
Esempio n. 3
0
 public ActionResult SaveCahngesInUnitProperties(int redactorsInUnit, double limitOfDiskSpaseInUnit, int limitOfLettersInUnit)
 {
     UnitsHelper uhelp = new UnitsHelper();
     uhelp.ChangeUnitProperties(redactorsInUnit, limitOfDiskSpaseInUnit, limitOfLettersInUnit);
     return RedirectToAction("Index");
 }
Esempio n. 4
0
 public JsonResult GetUnitProperties()
 {
     UnitsHelper uhelp = new UnitsHelper();
     var unitInfo = uhelp.GetUnitInfo();
     double[] BodyAndSubjectForSelectedKey = new double[3] { unitInfo.Redactors, unitInfo.LimitOfDiskSpase, unitInfo.LimitOfParsingEmails };
     return Json(BodyAndSubjectForSelectedKey, JsonRequestBehavior.AllowGet);
 }