Example #1
0
        public async Task <int> AddActualNeeds(ActualNeeds actual)
        {
            if (_db != null)
            {
                await _db.ActualNeeds.AddAsync(actual);

                await _db.SaveChangesAsync();

                return(1);
            }
            return(0);
        }
Example #2
0
        public async Task <int> UpdateActualNeeds(int id, ActualNeeds actual)
        {
            if (_db != null)
            {
                ActualNeeds existItem = _db.ActualNeeds.Where(f => f.IdactualNeeds == id).FirstOrDefault();
                if (existItem != null)
                {
                    existItem.ActualNeeds1 = actual.ActualNeeds1;
                    existItem.Date         = actual.Date;
                    existItem.IdProduct    = actual.IdProduct;


                    _db.ActualNeeds.Update(existItem);
                    await _db.SaveChangesAsync();
                }
                return(1);
            }
            return(0);
        }
Example #3
0
        public async Task <IActionResult> UpdateActualNeeds(ActualNeeds actual, int id)
        {
            try
            {
                var result = await _needs.UpdateActualNeeds(id, actual);

                if (result != 0)
                {
                    var Response = new ResponseViewModel(true, HttpStatusCode.OK, "SUCCESS", result);
                    return(Ok(Response));
                }

                else
                {
                    var Response = new ResponseViewModel(false, HttpStatusCode.NoContent, "failed", null);
                    return(Ok(Response));
                }
            }

            catch
            {
                return(BadRequest());
            }
        }
Example #4
0
        public async Task <List <double> > GetActualNeedsByType(int type, string period, DateTime start, DateTime end)
        {
            try
            {
                if (period == "daily")
                {
                    //Define list of Actual needs each day to store the result
                    List <Double> result = new List <double>();

                    TimeSpan diff = end.Subtract(start);
                    for (var day = start.Date; day <= end.Date; day = day.AddDays(1))
                    {
                        //to store the full productions

                        Double value = 0;

                        string test = day.ToString("yyyy-MM-dd");
                        //return list of Idactualneeds in each day
                        List <int> actualneeds = _db.ActualNeeds.Where(x => x.Date.ToString() == test && x.IdProduct == type)
                                                 .Select(x => x.IdactualNeeds).ToList();



                        for (int j = 0; j < actualneeds.Count; j++)
                        {
                            ActualNeeds subResult = await GetDailyActualNeeds(actualneeds[j]);

                            value += Convert.ToDouble(subResult.ActualNeeds1.Value);
                        }
                        result.Add(value);
                    }
                    return(result);
                }
                else if (period == "monthly")
                {
                    //Define list of Actual Needs to store the result
                    List <Double> result = new List <double>();
                    TimeSpan      diff   = end.Subtract(start);
                    for (var month = start.Month; month <= end.Month; month++)
                    {
                        //to store the all actual needs
                        Double value = 0;

                        //return list of id actual needs in each day
                        List <int> actualneeds = await _db.ActualNeeds.Where(x => x.Date.Value.Month == month && x.IdProduct == type)
                                                 .Select(x => x.IdactualNeeds).ToListAsync();

                        for (int j = 0; j < actualneeds.Count; j++)
                        {
                            ActualNeeds subResult = await GetDailyActualNeeds(actualneeds[j]);

                            value += Convert.ToDouble(subResult.ActualNeeds1.Value);
                        }
                        result.Add(value);
                    }


                    return(result);
                }
                else if (period == "annual")
                {
                    //Define list of Actual Needs to store the result
                    List <Double>   result = new List <double>();
                    System.TimeSpan diff   = end.Subtract(start);
                    for (var year = start.Year; year <= end.Year; year++)
                    {
                        //to store the full Actual Needs
                        Double value = 0;

                        //return list of id_Actual Needs in each day
                        List <int> actualneeds = await _db.ActualNeeds.Where(x => x.Date.Value.Year == year && x.IdProduct == type)
                                                 .Select(x => x.IdactualNeeds).ToListAsync();

                        for (int j = 0; j < actualneeds.Count; j++)
                        {
                            ActualNeeds subResult = await GetDailyActualNeeds(actualneeds[j]);

                            value += Convert.ToDouble(subResult.ActualNeeds1.Value);
                        }
                        result.Add(value);
                    }


                    return(result);
                }
                return(null);
            }


            catch (Exception)
            {
                return(null);
            }
        }