public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            try
            {
                using (WebDBManager webm = new WebDBManager(Comm.SERVER_URL))
                {
                    Report = await webm.ReadDailyReportAsync(id.Value);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(NotFound());
            }

            if (Report == null)
            {
                return(NotFound());
            }
            return(Page());
        }
示例#2
0
        public List <DailyReport> GetDailyReport(int pastureID, DateTime startDate, DateTime endDate)
        {
            List <DailyReport> list  = new List <DailyReport>();
            ReportDAL          dal   = new ReportDAL();
            DataTable          table = dal.GetDailyReportTable(pastureID, startDate.Date, endDate.Date);

            foreach (DataRow item in table.Rows)
            {
                DailyReport myReport = WrapDailyReportItem(item);
                myReport.PastureID = pastureID;

                //产犊
                myReport.CalvingNumber    = FarmInfo.GetSumCalving(this.pastureID, myReport.ReportDate);
                myReport.MaleCalfNumber   = FarmInfo.GetSumMaleCalf(this.pastureID, myReport.ReportDate);
                myReport.FemaleCalfNumber = FarmInfo.GetSumFemaleCalf(this.pastureID, myReport.ReportDate);

                //产奶
                MilkRecord milk = new MilkRecord(this.pastureID, myReport.ReportDate);
                myReport.SaleMilk         = milk.TotalMilkSale;
                myReport.AbnormalSaleMilk = milk.OtherMilkRecord.AbnormalSaleMilk;
                myReport.MilkForCalf      = milk.OtherMilkRecord.MilkForCalf;
                myReport.BadMilk          = milk.OtherMilkRecord.BadMilk;
                myReport.LeftMilk         = milk.OtherMilkRecord.LeftMilk;

                list.Add(myReport);
            }
            return(list);
        }
示例#3
0
        public MonthlyReport GetMonthlyReport(int pastureID, int year, int month)
        {
            MonthlyReport  report     = new MonthlyReport();
            DateTime       reportDate = (new DateTime(year, month, 1)).AddMonths(1).AddDays(-1);//取本月最后一天
            DailyReportBLL drBLL      = new DailyReportBLL(pastureID);
            //取该月日报
            List <DailyReport> dailyReports = drBLL.GetDailyReport(pastureID, new DateTime(year, month, 1), reportDate);
            var sorted = dailyReports.OrderByDescending(a => a.ReportDate);

            dailyReports = sorted.ToList();
            DailyReport latestDailyReport = dailyReports.First();

            //牛群结构按最后一天
            report.CalfNumber        = latestDailyReport.CalfNumber;
            report.BredCattleNumber  = latestDailyReport.BredCattleNumber;
            report.NullParityNumber  = latestDailyReport.NullParityNumber;
            report.MultiParityNumber = latestDailyReport.MultiParityNumber;
            report.DryCowNumber      = latestDailyReport.DryCowNumber;
            report.MilkCowNumber     = latestDailyReport.MilkCowNumber;
            report.ReportMonth       = month;
            report.ReportYear        = year;

            int   calvingNum = 0, maleCalf = 0, femaleCalf = 0;
            float saleMilk = 0, milkForCalf = 0, abnormal = 0, badMilk = 0, leftMilk = 0, amount = 0;
            int   soldCow = 0, deadCow = 0, eliminatedCow = 0;

            foreach (DailyReport item in dailyReports)
            {
                calvingNum = calvingNum + item.CalvingNumber;
                maleCalf   = maleCalf + item.MaleCalfNumber;
                femaleCalf = femaleCalf + item.FemaleCalfNumber;

                saleMilk    = saleMilk + item.SaleMilk;
                milkForCalf = milkForCalf + item.MilkForCalf;
                abnormal    = abnormal + item.AbnormalSaleMilk;
                badMilk     = badMilk + item.BadMilk;
                leftMilk    = leftMilk + item.LeftMilk;
                amount      = amount + item.Amount;

                soldCow       = soldCow + item.SoldCowNum;
                deadCow       = deadCow + item.DeadCowNum;
                eliminatedCow = eliminatedCow + item.ElimintedCowNum;
            }
            report.CalfNumber       = calvingNum;
            report.MaleCalfNumber   = maleCalf;
            report.FemaleCalfNumber = femaleCalf;

            report.SaleMilk         = saleMilk;
            report.AbnormalSaleMilk = abnormal;
            report.MilkForCalf      = milkForCalf;
            report.LeftMilk         = leftMilk;
            report.Amount           = amount;

            //离群
            report.SoldCowNum      = soldCow;
            report.DeadCowNum      = deadCow;
            report.ElimintedCowNum = eliminatedCow;

            return(report);
        }
示例#4
0
        /// <summary>
        /// 插入一条日报
        /// </summary>
        /// <returns></returns>
        public int InsertDailyReport()
        {
            int         temp     = 0;
            DailyReport myReport = new DailyReport();

            myReport.PastureID  = this.pastureID;
            myReport.ReportDate = DateTime.Now.Date;
            //牛群结构
            myReport.CalfNumber        = myFarm.CountOfCalf;
            myReport.BredCattleNumber  = myFarm.CountOfBredCattle;
            myReport.MultiParityNumber = myFarm.CountOfMultiParity;
            myReport.NullParityNumber  = myFarm.CountOfNullParity;
            myReport.MilkCowNumber     = myFarm.CountOfMilkCows;
            myReport.DryCowNumber      = myFarm.CountOfDryMilkCows;

            ReportDAL dal = new ReportDAL();

            temp = dal.InsertDailyReport(myReport.PastureID, myReport.ReportDate, myReport.MilkCowNumber, myReport.DryCowNumber, myReport.MultiParityNumber, myReport.NullParityNumber, myReport.CalfNumber, myReport.BredCattleNumber);


            ////产犊
            //myReport.CalvingNumber = FarmInfo.GetSumCalving(this.pastureID, myReport.ReportDate);
            //myReport.MaleCalfNumber = FarmInfo.GetSumMaleCalf(this.pastureID, myReport.ReportDate);
            //myReport.FemaleCalfNumber = FarmInfo.GetSumFemaleCalf(this.pastureID, myReport.ReportDate);

            ////产奶
            //MilkRecord milk=new MilkRecord(this.pastureID,myReport.ReportDate);
            //myReport.SaleMilk = milk.TotalMilkSale;
            //myReport.AbnormalSaleMilk = milk.OtherMilkRecord.AbnormalSaleMilk;
            //myReport.MilkForCalf = milk.OtherMilkRecord.MilkForCalf;
            //myReport.BadMilk = milk.OtherMilkRecord.BadMilk;
            //myReport.LeftMilk = milk.OtherMilkRecord.LeftMilk;

            return(temp);
        }
示例#5
0
        public void CalculateDailyAmount()
        {
            //Prepare test
            var calculationService = new ParametersCalculationService();
            var report             = new DailyReport();
            var consumedDishes     = new List <ConsumedDish>
            {
                new ConsumedDish
                {
                    CarbohydratesAmount = 50,
                    FatsAmount          = 0,
                    ProteinsAmount      = 100,
                },
                new ConsumedDish
                {
                    CarbohydratesAmount = 0,
                    FatsAmount          = 200,
                    ProteinsAmount      = 200
                }
            };

            //Do test
            calculationService.CalculateDailyAmount(consumedDishes, report);

            //Assert
            Assert.Equal(50, report.CarbohydratesAmount);
            Assert.Equal(200, report.FatsAmount);
            Assert.Equal(300, report.ProteinsAmount);
        }
        // GET: DailyReport/Create/?userId=&date
        public ActionResult Create(string userId, string date)
        {
            DailyReport dailyReport = null;

            if (userId == null || date == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            DateTime theDate = DateTime.Parse(date);
            //dailyReport = db.DailyReports.SingleOrDefault(t => t.UserId == userId && t.ReportDate.Equals(theDate));
            var reports = dao.FindReports(userId, theDate);

            dailyReport = reports.FirstOrDefault();

            if (dailyReport == null)
            {
                dailyReport = new DailyReport {
                    UserId = userId, ReportDate = theDate, ReportDetails = new List <ReportDetail>()
                };
                //db.Entry(dailyReport).State = EntityState.Added;
                //db.DailyReports.Add(dailyReport);
                //db.SaveChanges();
                dao.Create(dailyReport);
            }

            return(RedirectToAction("Edit", new { id = dailyReport.Id }));
        }
        public DailyReport GetDailyReportById(int dailyReportId)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        SELECT Id, UserProfileId, Date
                      
                        FROM DailyReport";

                    cmd.Parameters.AddWithValue("@id", dailyReportId);
                    var reader = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        DailyReport dailyReport = new DailyReport()
                        {
                            Id            = DbUtils.GetInt(reader, "Id"),
                            UserProfileId = DbUtils.GetInt(reader, "UserProfileId"),
                            Date          = DbUtils.GetDateTime(reader, "Date"),
                        };
                        reader.Close();
                        return(dailyReport);
                    }
                    else
                    {
                        reader.Close();
                        return(null);
                    }
                }
            }
        }
        public async Task <IActionResult> PutDailyReport(int id, DailyReport dailyReport)
        {
            if (id != dailyReport.Id)
            {
                return(BadRequest());
            }

            _context.Entry(dailyReport).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DailyReportExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        //填寫日報step2 :選取填寫內容
        public ActionResult dailyReportItem()
        {
            DailyReport dailyRpt = null;

            if (null == Request["rptID"])
            {
                ViewBag.projectId   = Request["projectid"];
                ViewBag.projectName = planService.getProject(Request["projectid"]).PROJECT_NAME;
                ViewBag.prj_uid     = Request["prjuid"];
                ViewBag.taskName    = planService.getProjectTask(Request["projectid"], int.Parse(Request["prjuid"])).TASK_NAME;
                ViewBag.RptDate     = Request["rptDate"];
                dailyRpt            = planService.newDailyReport(Request["projectid"], int.Parse(Request["prjuid"]));
                ViewBag.selWeather  = getDropdownList4Weather("");
            }
            else
            {
                string strRptId = Request["rptID"];
                ViewBag.RptId = strRptId;
                dailyRpt      = planService.getDailyReport(strRptId);

                ViewBag.projectId = dailyRpt.dailyRpt.PROJECT_ID;

                ViewBag.projectName = planService.getProject(dailyRpt.dailyRpt.PROJECT_ID).PROJECT_NAME;
                ViewBag.prj_uid     = dailyRpt.lstRptTask[0].PRJ_UID;
                ViewBag.taskName    = planService.getProjectTask(dailyRpt.dailyRpt.PROJECT_ID, int.Parse(dailyRpt.lstRptTask[0].PRJ_UID.ToString())).TASK_NAME;
                ViewBag.RptDate     = string.Format("{0:yyyy/MM/dd}", dailyRpt.dailyRpt.REPORT_DATE);
                ViewBag.ddlWeather  = getDropdownList4Weather(dailyRpt.dailyRpt.WEATHER);
            }

            //1.依據任務取得相關施作項目內容
            return(View(dailyRpt));
        }
        public async Task <IActionResult> PutItem(int id, DailyReport item)
        {
            if (item == null)
            {
                return(BadRequest());
            }
            if (id != item.Id)
            {
                return(BadRequest());
            }
            if (!_myContext.DailyReportExist(item.Id))
            {
                Console.WriteLine($"DailyReport id {item.Id} not found.");
                return(NotFound());
            }
            if (!_myContext.ProjectExist(item.ProjectId))
            {
                Console.WriteLine($"Project id {item.ProjectId} not found.");
                return(NotFound(""));
            }

            try
            {
                _myContext.Entry(item).State = EntityState.Modified;
                await _myContext.SaveChangesAsync();

                return(NoContent());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(BadRequest());
            }
        }
        public DailyReport GetDailyCollectionSummary(string SearchDate)
        {
            DailyReport dReport = new DailyReport();

            try
            {
                using (SqlConnection connection = DataAccess.CreateConnection())
                {
                    SqlCommand command = DataAccess.CreateCommand(connection);

                    DataAccess.CreateStoredprocedure(command, "GetDailyCollectionReportSummary_SP");
                    DataAccess.AddInParameter(command, "@SearchDate", SqlDbType.VarChar, SearchDate);
                    SqlDataReader reader = DataAccess.ExecuteReader(command);
                    if (reader != null)
                    {
                        while (reader.Read())
                        {
                            dReport.CashCollection   = reader["Cash"] is DBNull ? 0 : Convert.ToDouble(reader["Cash"]);
                            dReport.ChequeCollection = reader["Cheque"] is DBNull ? 0 : Convert.ToDouble(reader["Cheque"]);
                            dReport.CCardCollection  = reader["CreditCard"] is DBNull ? 0 : Convert.ToDouble(reader["CreditCard"]);
                            dReport.DCardCollection  = reader["DebitCard"] is DBNull ? 0 : Convert.ToDouble(reader["DebitCard"]);
                            dReport.BankDeposit      = reader["BankDeposit"] is DBNull ? 0 : Convert.ToDouble(reader["BankDeposit"]);
                            dReport.DailyTotal       = reader["Total"] is DBNull ? 0 : Convert.ToDouble(reader["Total"]);
                        }
                    }
                    reader.Close();
                    return(dReport);
                }
            }
            catch (Exception ex)
            {
                return(dReport);
            }
        }
示例#12
0
        public DailyReport NoData(DailyReport _DailyReports, string id)
        {
            string noData = "暂无数据";

            _DailyReports = new DailyReport();
            _DailyReports.LASTALLDAY_PLAN           = noData;
            _DailyReports.LASTALLDAY_ACTUAL         = noData;
            _DailyReports.LASTALLDAY_BARGE          = noData;
            _DailyReports.LASTALLDAY_SHUTTLE        = noData;
            _DailyReports.MyLASTALLDAY_COMPLETERATE = noData;
            _DailyReports.MONTHLY_PLAN           = noData;
            _DailyReports.MONTHLY_TARGET         = noData;
            _DailyReports.MONTHLY_ACTUAL         = noData;
            _DailyReports.MONTHLY_BARGE          = noData;
            _DailyReports.MONTHLY_SHUTTLE        = noData;
            _DailyReports.MyMONTHLY_COMPLETERATE = noData;
            _DailyReports.MONTHLY_PLANCONTAINER  = noData;
            _DailyReports.ANNUAL_PLAN            = noData;
            _DailyReports.ANNUAL_ACTUAL          = noData;
            _DailyReports.ANNUAL_BARGE           = noData;
            _DailyReports.ANNUAL_SHUTTLE         = noData;
            _DailyReports.MyANNUAL_COMPLETERATE  = noData;
            _DailyReports.ANNUAL_PLANCONTAINER   = noData;
            _DailyReports.REPORT_DATE            = DateTime.Parse(id);
            _DailyReports.MyDate = id;
            return(_DailyReports);
        }
        public async Task <ActionResult <DailyReport> > PostDailyReport(DailyReport dailyReport)
        {
            _context.DailyReport.Add(dailyReport);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetDailyReport", new { id = dailyReport.Id }, dailyReport));
        }
示例#14
0
        public virtual void ValidateDailyReport(DailyReport report)
        {
            var warningsBuilder      = new StringBuilder();
            var parameters           = new[] { "Proteins", "Carbohydrates", "Fats" };
            var dietLimitsProperties = typeof(DietLimits).GetProperties();
            var reportProperties     = typeof(DailyReport).GetProperties();

            foreach (var parameter in parameters)
            {
                var reportProperty = (decimal)reportProperties.First(p => p.Name.Contains(parameter)).GetValue(report);
                var limitProperty  = (Limits)dietLimitsProperties.First(p => p.Name.Contains(parameter)).GetValue(_dietLimits);

                if (reportProperty < limitProperty.Min)
                {
                    warningsBuilder.AppendLine($"Daily {parameter} amount is lower than defined minimum value {limitProperty.Min}");
                }

                if (reportProperty > limitProperty.Max)
                {
                    warningsBuilder.AppendLine($"Daily {parameter} amount is greather than defined maximum value {limitProperty.Max}");
                }
            }

            report.Warnings    = warningsBuilder.ToString();
            report.HasWarnings = report.Warnings.Length > 0;
        }
示例#15
0
        public async Task <ApiResponse <DailyReport> > SaveDailyReport(DailyReportDTO dailyReport)
        {
            ApiResponse <DailyReport> result = new ApiResponse <DailyReport>();

            try
            {
                DailyReport report = new DailyReport();
                report.ReportDate = dailyReport.ReportDate;
                report.TotalAmountOfServicesCost           = dailyReport.TotalAmountOfServicesCost;
                report.TotalNumberOfBarbersSignedIn        = dailyReport.TotalNumberOfBarbersSignedIn;
                report.TotalNumberOfCustomers              = dailyReport.TotalNumberOfCustomers;
                report.AverageCustomerWaitingTimeInMinutes = dailyReport.AverageCustomerWaitingTimeInMinutes;

                var CreatedReport = await unitOfWork.DailyReportsManager.CreateAsync(report);

                result.Data      = report;
                result.Succeeded = true;
                return(result);
            }
            catch (Exception ex)
            {
                result.Succeeded = false;
                result.Errors.Add(ex.Message);
                return(result);
            }
        }
示例#16
0
        protected virtual DailyReportCollection ConvertToMonthDayResult(DateTime month, DailyReportCollection reports)
        {
            DailyReportCollection rv = new DailyReportCollection();
            DateTime today           = DateTime.Today;
            int      days;

            if (today.Year == month.Year &&
                today.Month == month.Month)
            {
                days = today.Day;
            }
            else
            {
                days = DateTime.DaysInMonth(month.Year, month.Month);
            }

            for (int i = days; i > 0; i--)
            {
                DailyReport report = reports.TryGetItem(month.Year, month.Month, i);
                if (report == null)
                {
                    report         = new DailyReport();
                    report.IsEmpty = true;
                    report.ItemID  = -i;
                    report.TaskID  = -1;
                    report.Date    = new DateTime(month.Year, month.Month, i);
                }
                rv.Add(report);

                report["Day"] = i;
            }

            return(rv);
        }
示例#17
0
        /// <summary>
        /// Create ActivityFeed Post by using Custom Action
        /// </summary>
        public async Task CreateDailyReport(string report)
        {
            using (HttpClient client = await GetClient(true))
            {
                var activity = context.Activity;
                var result   = await client.GetAsync($"api/data/v8.2/WhoAmI");

                if (result.IsSuccessStatusCode)
                {
                    var         systemUserId = JToken.Parse(await result.Content.ReadAsStringAsync())["UserId"].ToString();
                    DailyReport dailyReport  = new DailyReport()
                    {
                        Comment = report, RegardingUser = new DailyReport.User()
                        {
                            SystemUserId = systemUserId, Type = "Microsoft.Dynamics.CRM.systemuser"
                        }
                    };
                    result = await client.PostAsync("api/data/v8.2/new_CreateDailyReport", new StringContent(JsonConvert.SerializeObject(dailyReport), Encoding.UTF8, "application/json"));
                }
                else
                {
                    // Handle error
                }
            }
        }
        // GET: DailyReport/EditDetail/?userId=&date
        public ActionResult EditDetail(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DailyReport dailyReport = null;                     //dao.Read(id);
            var         workItem    = dao.ReadWorkItem("None"); //db.WorkItems.Find("None");

            if (id != null)
            {
                dailyReport = dao.Read(id);//db.DailyReports.Find(id);
            }

            int count = dailyReport.ReportDetails.Count();

            for (int i = count; i < 10; i++)
            {
                dailyReport.ReportDetails.Add(new ReportDetail {
                    WorkItemId = workItem.Id, WorkItem = workItem
                });
            }

            ViewBag.WorkItems = dao.WorkItems.OrderBy(i => i.OrderIdx).ToList();
            return(View(dailyReport));
        }
示例#19
0
        public void GetDateStr_test()
        {
            DailyReport _dr;

            // 正常系
            _dr = new DailyReport(2013, 1, 2013, 1, 1);
            Assert.AreEqual("2013年01月01日(火)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 2);
            Assert.AreEqual("2013年01月02日(水)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 3);
            Assert.AreEqual("2013年01月03日(木)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 4);
            Assert.AreEqual("2013年01月04日(金)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 5);
            Assert.AreEqual("2013年01月05日(土)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 6);
            Assert.AreEqual("2013年01月06日(日)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 1, 7);
            Assert.AreEqual("2013年01月07日(月)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2011, 10, 10);
            Assert.AreEqual("2011年10月10日(月)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 2013, 12, 31);
            Assert.AreEqual("2013年12月31日(火)", _dr.GetDateStr());
            _dr = new DailyReport(2014, 1, 2015, 03, 20);
            Assert.AreEqual("2015年03月20日(金)", _dr.GetDateStr());
            // 異常系
            _dr = new DailyReport(2013, 1, 2013, 0, 0);
            Assert.AreEqual("2013年00月00日(無効な年月日)", _dr.GetDateStr());
            _dr = new DailyReport(2013, 1, 0, 0, 0);
            Assert.AreEqual("0000年00月00日(無効な年月日)", _dr.GetDateStr());
        }
示例#20
0
        public async Task <IActionResult> Add(AddDailyReportViewModel addDailyReportViewModel)
        {
            //create new daily report if view model is valid
            if (ModelState.IsValid)
            {
                AppUser currentUser = await userManager.GetUserAsync(HttpContext.User);

                Mood        newDailyReportMood    = context.Moods.Single(c => c.ID == addDailyReportViewModel.MoodID);
                Journal     newDailyReportJournal = new Journal(addDailyReportViewModel.JournalText);
                DailyReport newDailyReport        = new DailyReport
                {
                    UserID        = currentUser.Id,
                    Date          = DateTime.Now,
                    Mood          = newDailyReportMood,
                    Journal       = newDailyReportJournal,
                    MoodIntensity = addDailyReportViewModel.MoodIntensity
                };

                //add daily report to existing reports
                context.Journals.Add(newDailyReportJournal);
                context.DailyReports.Add(newDailyReport);
                context.SaveChanges();

                //redirect user to meditation page
                return(Redirect("../Meditation"));
            }
            //return user to form if invalid
            return(View(addDailyReportViewModel));
        }
示例#21
0
        public static void Send()
        {
            try
            {
                var dicInvestments = InvestmentStream.GetNewFundInvestment();

                if (dicInvestments.Count > 0)
                {
                    List <string> descriptions = new List <string>();
                    foreach (var fund in dicInvestments)
                    {
                        foreach (var investment in fund.Value)
                        {
                            descriptions.Add(investment.Description);
                        }
                    }
                    string info = string.Join("<br />", descriptions);

                    DailyReport.Send(info);

                    ExecutionUpdater.UpdateCrmSent();
                    Log.Info("CrmReport.Send", "Updates sent by email");
                }
                else
                {
                    Log.Info("CrmReport.Send", "No update");
                }
            }
            catch (Exception ex)
            {
                Log.Error("CrmReport.Send", "error", ex);
            }
        }
示例#22
0
 private static DayOverviewViewData AdaptToOverview(DailyReport dailyReport)
 {
     return(new DayOverviewViewData(
                dailyReport.Date,
                dailyReport.CalculateReportedHours().ToString(),
                dailyReport.Id));
 }
示例#23
0
        public ActionResult DeleteConfirmed(int id)
        {
            DailyReport dailyReport = db.DailyReports.Find(id);

            db.DailyReports.Remove(dailyReport);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#24
0
 public TimeManager()
 {
     dailyReport      = GameObject.Find("DailyReport").GetComponent <DailyReport>();
     endDayReport     = GameObject.Find("EndDayReport").GetComponent <EndDayReport>();
     directionalLight = GameObject.Find("Directional light").GetComponent <Light>();
     lightIntensity   = directionalLight.intensity;
     timeInDaySeconds = Config.taskDuration * Config.tasksPerDay;
 }
示例#25
0
        public void validNextDate_test()
        {
            DailyReport _dr = new DailyReport(2013, 1, 2013, 12, 8);

            Assert.AreEqual("2013/01/02", _dr.getValidNextDate(2013, 1, 1));
            Assert.AreEqual("2013/02/01", _dr.getValidNextDate(2013, 1, 31));
            Assert.AreEqual("2014/01/01", _dr.getValidNextDate(2013, 12, 31));
        }
        private DailyReport IsLate(string Id)
        {
            ApplicationDbContext DB = new ApplicationDbContext();
            int     degrees         = 0;
            Student std             = DB.Students.FirstOrDefault(s => s.Id == Id);

            Create();
            Attendance att = DB.Attendaces.FirstOrDefault(a => a.StudentId == std.Id && a.Date.Day == DateTime.Now.Day && a.Date.Month == DateTime.Now.Month && a.Date.Year == DateTime.Now.Year);

            if (att != null)
            {
                if (att.ArrivalTime == null)
                {
                    bool havePermission = DB.Permissions.Any(p => p.StudentId == std.Id && DateTime.Now >= p.StartDate && DateTime.Now <= p.EndDate);
                    if (havePermission)
                    {
                        switch (std.Absences)
                        {
                        case 1:
                        case 2:
                        case 3:
                            degrees = 5;
                            break;

                        case 4:
                        case 5:
                        case 6:
                            degrees = 10;
                            break;

                        default:
                            degrees = 25;
                            break;
                        }
                    }
                    else
                    {
                        degrees = 25;
                    }
                    ++std.Absences;
                    std.Degrees -= degrees;
                }
            }
            DailyReport todayReport = new DailyReport {
                StudentId = Id, Date = DateTime.Today, Absences = std.Absences, Degrees = degrees, ArrivalTime = att.ArrivalTime, LeavingTime = att.LeavingTime
            };

            if (!DB.DailyReports.Any(r => r.StudentId == todayReport.StudentId && r.Date == todayReport.Date))
            {
                DB.DailyReports.Add(todayReport);
                DB.Configuration.ValidateOnSaveEnabled = false;
                DB.SaveChanges();
                return(todayReport);
            }
            return(new DailyReport {
                StudentId = Id, Date = DateTime.Today, Absences = std.Absences, Degrees = 0, ArrivalTime = att.ArrivalTime, LeavingTime = att.LeavingTime
            });
        }
示例#27
0
        /// <summary>
        /// Сформировать отчет за период
        /// </summary>
        private async void GetReportByPeriod()
        {
            _setLoading(true);
            _reportList = new List <DailyReport>();
            List <DailyReport> result = new List <DailyReport>();
            await Task.Delay(100);

            DateTime periodStart  = DateTime.Parse($"{_meltsPeriod.PeriodStart:d} 00:00:00.000");
            DateTime periodFinish = DateTime.Parse($"{_meltsPeriod.PeriodFinish:d} 23:59:59.999");

            try
            {
                result = _db.GetDailyReport(periodStart, periodFinish);
            }
            catch (Exception ex)
            {
                _logger.Error($"Не удалось получить список плавок за период с [{_meltsPeriod.PeriodStart}] по [{_meltsPeriod.PeriodFinish}] [{ex.Message}]");
            }

            DateTime prev = periodStart.AddDays(-1);

            foreach (DailyReport day in result)
            {
                int diff = (int)(day.Date - prev.Date).TotalDays;
                if (diff > 1)
                {
                    for (int i = 0; i < diff - 1; i++)
                    {
                        prev = prev.AddDays(1);
                        DailyReport empty = new DailyReport
                        {
                            Date        = prev,
                            PeriodStart = DateTime.Parse($"{prev:d} 00:00:00.000"),
                            PeriodEnd   = DateTime.Parse($"{prev:d} 23:59:59.999")
                        };
                        _reportList.Add(empty);
                    }
                }

                _reportList.Add(day);
                prev = day.Date;
            }

            int coilsTotal  = 0;
            int weightTotal = 0;

            foreach (DailyReport report in _reportList)
            {
                coilsTotal        += report.CoilsCount;
                weightTotal       += report.CoilsWeight;
                report.TotalCoils  = coilsTotal;
                report.TotalWeight = weightTotal;
            }

            _showReport = "block";
            _setLoading(false);
            StateHasChanged();
        }
示例#28
0
        private void LoadReportsCount()
        {
            DailyReport dailyReport = new DailyReport();

            dailyReport.Where.UserID.Value = UserID;
            dailyReport.Where.Status.Value = "Not Filled";
            dailyReport.Query.Load();
            lblReportsCount.Text = dailyReport.RowCount.ToString();
        }
示例#29
0
        public void setHourText_test()
        {
            DailyReport _dr = new DailyReport(2013, 1, 2013, 12, 8);

            // 正常系のテスト
            Assert.AreEqual("2.00h", _dr.setHourText(2.0));
            Assert.AreEqual("0.00h", _dr.setHourText(0.0));
            Assert.AreEqual("0.00h", _dr.setHourText(0));
        }
示例#30
0
        public IActionResult DailyReport(DailyReport dailyReport)
        {
            var currentUserProfile = GetCurrentUserProfile();

            dailyReport.UserProfileId = currentUserProfile.Id;
            dailyReport.Date          = DateTime.Now;
            _dailyReportRepository.Add(dailyReport);
            return(CreatedAtAction("Details", new { dailyReportId = dailyReport.Id }, dailyReport));
        }
示例#31
0
        public void sendReports()
        {
            ReportServiceClient rclient = new ReportServiceClient();
            DailyReport dr = new DailyReport();
            dr.Date = DateTime.Now.Date;
            FuelItem[] prchs=getFuelOrders();
            FuelData[] purchase = new FuelData[2];

            purchase[0] = new FuelData();
            purchase[1] = new FuelData();
            for (int i = 0; i < prchs.Length; i++)
            {
                if(prchs[i]!=null && prchs[i].Date==dr.Date)
                {
                    int ind = 1;
                    if (prchs[i].Type == "unleaded")
                        ind = 0;
                    purchase[ind].FuelType = prchs[i].Type;
                    purchase[ind].Quantity += prchs[i].Amount;
                    purchase[ind].Value += prchs[i].Value;
                 }
            }
            dr.Purchases = purchase;

            FuelItem[] sl = getSaleData();
            FuelData[] sales=new FuelData[2];
            sales[0] = new FuelData();
            sales[1] = new FuelData();
            for (int i = 0; i < sl.Length; i++)
            {
                if (sl[i] != null && sl[i].Date == dr.Date)
                {
                    int ind = 1;
                    if (sl[i].Type == "unleaded")
                        ind = 0;
                    sales[ind].FuelType = sl[i].Type;
                    sales[ind].Quantity = sl[i].Amount;
                    sales[ind].Value = sl[i].Value;
                }
            }
            dr.Sales = sales;
            rclient.SendDailyReport(dr);
        }